Di
dalam matematika, bilangan negatif biasanya dinyatakan dengan cara menambahkan
tanda − di depan bilangan tersebut. Namun di dalam komputer, bilangan hanya
dapat dinyatakan sebagai kode biner 0 dan 1 tanpa ada simbol yang lainnya,
sehingga diperlukan suatu cara untuk mengkodekan tanda minus.
Beberapa
metode yang dapat digunakan untuk menyatakan bilangan bertanda di sistem
bilangan biner adalah: sign-and-magnitude, komplemen satu (ones' complement),
dan komplemen dua (two's complement).
Komputer
modern pada umumnya menggunakan metode komplemen dua, namun metode lain juga
digunakan pada situasi tertentu.
Komplemen Satu (One’s Complement)
Komplemen
satu merupakan suatu sistem penomoran yang diterapkan dalam beberapa jenis
komputer untuk merepresentasikan nilai-nilai negatif. Pada cara ini terdapat
aturan bahwa nilai 0 (nol) akan direpresentasikan dengan dua buah nilai, yaitu
+0 (positif nol) dan -0 (negatif nol). Bentuk komplemen satu untuk bilangan
biner negatif diperoleh dengan cara membalik seluruh bit dari bilangan biner
positifnya. Bit yang bernilai 0 dibalik menjadi 1, dan bit yang bernilai 1
dibalik menjadi 0. Seperti pada metode sign-and-magnitude, di metode komplemen
satu ini ada dua cara merepresentasikan bilangan nol, yaitu : 00000000
(+0) dan 11111111 ([-0|−0]).
Contoh,
bentuk komplemen satu dari 00101011 (43) adalah 11010100 (−43). Jangkauan dari
bilangan bertanda dengan komplemen satu adalah -(2N-1-1) sampai (2N-1-1)
dan +/-0. Untuk sistem 8-bit (byte) jangkauannya adalah -12710 sampai +12710 dengan nol bisa berbentuk 00000000
(+0) atau 11111111 (-0).
8 bit
ones' complement
|
||
Binary
value
|
Ones'
complement interpretation
|
Unsigned
interpretation
|
00000000
|
+0
|
0
|
00000001
|
1
|
1
|
...
|
...
|
...
|
01111101
|
125
|
125
|
01111110
|
126
|
126
|
01111111
|
127
|
127
|
10000000
|
-127
|
128
|
10000001
|
-126
|
129
|
10000010
|
-125
|
130
|
...
|
...
|
...
|
11111110
|
-1
|
254
|
11111111
|
-0
|
255
|
Komplemen Dua (Two’s Complement)
Di
dalam metode komplemen dua, bilangan negatif direpresentasikan dengan cara
menambahkan satu pada bentuk komplemen satu dari suatu bilangan positif. Di
dalam metode komplemen dua, hanya ada satu bilangan nol (00000000).
Misalnya,
bentuk komplemen satu dari 00101011 (43) adalah 11010100 (−43). Bentuk
komplemen duanya adalah: 11010100 + 1 = 11010101.
8 bit two's
complement
|
||
Binary
value
|
Two's
complement interpretation
|
Unsigned
interpretation
|
00000000
|
0
|
0
|
00000001
|
1
|
1
|
...
|
...
|
...
|
01111110
|
126
|
126
|
01111111
|
127
|
127
|
10000000
|
-128
|
128
|
10000001
|
-127
|
129
|
10000010
|
-126
|
130
|
...
|
...
|
...
|
11111110
|
-2
|
254
|
11111111
|
-1
|
255
|
Pengurangan Bilangan Biner Melalui Komplement dan Penjumlahan
Contoh pengurangan dengan
komplemen 1 :
Komplemen 1 di sistem bilangan
binari dilakukan dengan mengurangkan setiap bit dari nilai 1, atau dengan cara
mengubah setiap bit 0 menjadi 1 dan bit 1 menjadi 0. Dengan komplemen 1, hasil
digit paling kiri dipindahkan untuk ditambahkan pada bit paling kanan.
Contoh pengurangan dengan
komplemen 2 :
Komplemen 2 adalah hasil dari
komplemen 1 ditambah 1, misalnya komplemen 2 dari bilangan binari 10110 adalah
01010 (dari komplemen 1 yaitu 01001 ditambah 1). Dengan komplemen 2, hasil
digit paling kiri dibuang (tidak digunakan).
Tidak ada komentar:
Posting Komentar