Sign binary number representation
Dalam kehidupan nyata adalah sangat mudah untuk memberi tanda negative atau positive pada sebuah angka. Tetapi pada computer, diperlukan teknik atau cara untuk memberikan tanda negative atau positive. Ada tiga buah cara untuk memberikan tanda negative yaitu
- Sign magnitude
- One’s complement
- Two’s complement
Sign magnitude di tunjukkan oleh satu buah bit yang disebut sign bit yang pada umumnya diletakkan pada most significant bit atau bit yang paling kiri dari sebuah number binary.
Bit 0 menunjukkan untuk positive dan bit 1 menunjukkan negative, sebagai contoh, untuk positive 3, dalam binary adalah 0 0 1 1, untuk menunjukkan – 3 maka dalam binary menjadi 1 0 1 1. Dalam hal ini kita menggunakan satu bit untuk mewakili sign negative atau positive.
Menunjukkan sign cara kedua adalah dengan teknik one’s complement. Cara membuat negative sebuah number binary adalah dengan cara membaliknya atau NOT, sebagai contoh apabila kita mempunyai angka 3 maka binary nya adalah 0 0 1 1, untuk menunjukkan negative 3 maka kita hanya melakukan opersi NOT sehingga negative 3 adalah 1 1 0 0.
Untuk melakukan operasi 37 – 11 dengan one’s complement maka pertama tama kita harus membuat negative 11 dengan format one’s complement yaitu dari binary 0 0 0 0 1 0 1 1 dibuat one’s complement menjadi 1 1 1 1 0 1 0 0, kemudian dapat dilakukan operasi sebagai berikut:
Binary decimal
0 0 1 0 0 1 0 1 37
1 1 1 1 0 1 0 0 – 11
——————- + ——
1 0 0 0 1 1 0 0 1 26
Dalam contoh ini 37 – 11 = 26, tetapi dalam binary dengan menggunakan teknik one’s complement dihasilkan carry out 1 dengan nilai binary 0 0 0 1 1 0 0 1 atau kalau kita convert dalam decimal adalah 25. Ini adalah tidak benar, karena hasil ini adalah masih dalam bentuk one’s complement sehingga untuk mengembalikan ke bentuk normalnya maka kita harus melakukan penjumlahan dengan bit 1 sebagai berikut:
0 0 0 1 1 0 0 1
1
——————- +
0 0 0 1 1 0 1 0 -> 26
Cara atau teknik yang ketiga adalah two’s complement. Dalam teknik two’s complement ini untuk membuat binary dengan sign negative dilakukan cara sebagai berikut:
- Invert atau lakukan operasi NOT
- Add dengan binary 1
Sebagai contoh untuk menunjukkan negative 3 atau negative 0 0 1 1, maka
- Lakukan operasi NOT 0 0 1 1 menjadi 1 1 0 0
- Add dengan binary 1
1 1 0 0
1
———- +
1 1 0 1
Jadi 1 1 0 1 adalah merepresentasikan negative 3 dalam bentuk two’s complement.
Sekarang kita akan melakukan perhitungan 37 – 11 = 26 dengan menggunakan two’s complement.
Pertama negative 11 harus dibuat dalam bentuk two’s complement sebagai berikut:
0 0 0 1 1 0 0 1
1 1 1 0 0 1 1 0
1
——————- +
1 1 1 0 0 1 1 1
Dengan demikian negative 11 dalam two’s complement adalah: 1 1 1 1 0 1 0 1, kemudian kita lakukan penjumlahan sebagai berikut:
Binary decimal
0 0 1 0 0 1 0 1 37
1 1 1 1 0 1 0 1 – 11
——————- + ——
1 0 0 0 1 1 0 1 0 26
Dalam hal ini carry out 1 akan di drop atau tidak dianggap.
Dalam kasus hasil perhitungan negative maka kita untuk mengetahui besarannya maka kita harus mengembalikan dari two’s complement menjadi bentuk biasa, sebagai contohkita akan menghitung 4 – 48 sebagai berikut.
– 48 à 1 1 0 0 0 0 à 0 0 1 1 1 1 à add 1 : 0 1 0 0 0 0
Binary decimal
0 0 0 1 0 0 4
0 1 0 0 0 0 – 48
——————- + ——
0 1 0 1 0 0 – 44
Di sini dihasilkan 0 1 0 1 0 0 yang merepresentasikan negative 44 dalam bentuk atau format two’s complement. Untuk mengecek apakah nilai nya adalah 44 maka kita perlu melakukan two complement terhadap hasil ini, (maksudnya dikembalikan ke positive)
0 1 0 1 0 0
1 0 1 0 1 1 (operasi NOT)
1 (add 1)
————— +1
1 0 1 1 0 0 (44)