Artikel kali ini akan membahas bagaimana mesin melakukan operasi penjumlahan dan pengurangan. Seperti yang kita tahu bahwa mesin hanya mengetahui dua bilangan yaitu 0 dan 1 kalian bisa melakukan penjumlahan dan pengurangan bilangan biner seperti halnya bilangan desimal untuk lebih rincinya silahkan membaca artikel sebelumnya tentang operasi penjumlahan dan pengurangan bilangan biner.
Mungkin sebagian dari kalian belum tahu fakta unik ini kalau sebenarnya mesin hitung itu sebenarnya hanya bisa melakukan operasi penjumlahan saja. Lho, terus bagaimana mesin melakukan operasi pengurangan? ilustrasinya bisa dilihat di bawah ini :
5 - 3 = 2 sama saja dengan 5 + (-3) = 2
Jadi, alih-alih nilai 5 itu dikurangi 3 si mesin menambahkannya dengan nilai (-3). Oke, lantas pertanyaannya sekarang bagaimana si mesin mengetahui nilai (-3) sedangkan dalam biner hanya ada 0 dan 1?
Para insinyur terdalu mengakalinya dengan cara mengubah bilangan itu menjadi negatif. Bagaimana?
contohnya seperti ini:
5 (10) = 0000 0101(2)
maka untuk merepresentasikan nilai (-5) dalam bit caranya adalah dengan mengubah nilai 0 menjadi 1 dan sebaliknya, hasilnya:
-5 (10) = 1111 1010(2)
itu adalah negatif 5 dalam biner atau bisa dibilang one's complement-nya dari 5
Berarti sekarang kita bisa melakukan operasi pengurangan dong? Ayo kita coba!
7 -> 0000 0111
-5 -> 1111 1010
---------------------- +
(1) 0000 0001 -> 1(10)
Lha, kok hasilnya itu? Untuk one's complement hasilnya memang selalu kurang 1 bit untuk itu
carrynya (angka 1 yang di dalam kurung) ditambahkan ke hasilnya jadi:
0000 0001
1
------------- +
0000 0010 -> 2(10)
Hasilnya sekarang jadi 2 kan? Namun, ada cara lain yaitu menambahkannya dengan two's complement. Bagaimana mendapatkannya? Mudah, kalian tinggal menjadikannya one's complement lalu tambahkan dengan 1 sehingga:
-5 -> 1111 1010
1
------------------- +
1111 1011 (two's complement 5)
Sekarang kita selsaikan operasi sebelumnya dengan menggunakan two's complement
7 -> 0000 0111
-5 -> 1111 1011
-------------------- +
0000 0010 -> 2(10)
Hasilnya sama kan? Sekian artikel ini semoga bermanfaat!
Referensi :
http://www.learnabout-electronics.org/Digital/dig15.php
https://en.wikipedia.org/wiki/Ones%27_complement
https://en.wikipedia.org/wiki/Two%27s_complement
Mungkin sebagian dari kalian belum tahu fakta unik ini kalau sebenarnya mesin hitung itu sebenarnya hanya bisa melakukan operasi penjumlahan saja. Lho, terus bagaimana mesin melakukan operasi pengurangan? ilustrasinya bisa dilihat di bawah ini :
5 - 3 = 2 sama saja dengan 5 + (-3) = 2
Jadi, alih-alih nilai 5 itu dikurangi 3 si mesin menambahkannya dengan nilai (-3). Oke, lantas pertanyaannya sekarang bagaimana si mesin mengetahui nilai (-3) sedangkan dalam biner hanya ada 0 dan 1?
Para insinyur terdalu mengakalinya dengan cara mengubah bilangan itu menjadi negatif. Bagaimana?
contohnya seperti ini:
5 (10) = 0000 0101(2)
maka untuk merepresentasikan nilai (-5) dalam bit caranya adalah dengan mengubah nilai 0 menjadi 1 dan sebaliknya, hasilnya:
-5 (10) = 1111 1010(2)
itu adalah negatif 5 dalam biner atau bisa dibilang one's complement-nya dari 5
Berarti sekarang kita bisa melakukan operasi pengurangan dong? Ayo kita coba!
7 -> 0000 0111
-5 -> 1111 1010
---------------------- +
(1) 0000 0001 -> 1(10)
Lha, kok hasilnya itu? Untuk one's complement hasilnya memang selalu kurang 1 bit untuk itu
carrynya (angka 1 yang di dalam kurung) ditambahkan ke hasilnya jadi:
0000 0001
1
------------- +
0000 0010 -> 2(10)
Hasilnya sekarang jadi 2 kan? Namun, ada cara lain yaitu menambahkannya dengan two's complement. Bagaimana mendapatkannya? Mudah, kalian tinggal menjadikannya one's complement lalu tambahkan dengan 1 sehingga:
-5 -> 1111 1010
1
------------------- +
1111 1011 (two's complement 5)
Sekarang kita selsaikan operasi sebelumnya dengan menggunakan two's complement
7 -> 0000 0111
-5 -> 1111 1011
-------------------- +
0000 0010 -> 2(10)
Hasilnya sama kan? Sekian artikel ini semoga bermanfaat!
Referensi :
http://www.learnabout-electronics.org/Digital/dig15.php
https://en.wikipedia.org/wiki/Ones%27_complement
https://en.wikipedia.org/wiki/Two%27s_complement
No comments:
Post a Comment