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.

Metode Sign-and-magnitude

sunting
8 bit signed magnitude
Binary Signed Unsigned
00000000 +0 0
00000001 1 1
... ... ...
01111111 127 127
10000000 -0 128
10000001 -1 129
... ... ...
11111111 -127 255

Untuk menyatakan tanda bilangan (positif atau negatif), dapat digunakan salah satu bit yang ada untuk menyatakan tanda tersebut. Bit tersebut (biasanya bit yang pertama atau most significant bit) diset bernilai 0 untuk bilangan positif, dan 1 untuk bilangan negatif. Bit-bit yang lain menyatakan magnitude atau nilai mutlak dari bilangan. Jadi di dalam satu byte (8-bit), satu bit digunakan sebagai tanda, dan 7 bit sisanya sebagai magnitude yang nilainya bisa berisi mulai dari 0000000 (0) sampai 1111111 (127). Cara ini dapat digunakan untuk merepresentasikan bilangan dari −12710 sampai +12710. Konsekuensi dari metode ini adalah: akan ada dua cara untuk menyatakan nol, yaitu 00000000 (0) dan 10000000 ([-0|−0]). Komputer generasi awal (misalnya IBM 7090) menggunakan metode ini. Sign-and-magnitude adalah cara yang banyak dipakai untuk merepresentasikan significand di dalam bilangan floating point.

Komplemen satu (Ones' complement)

sunting
8 bit ones' complement (I)
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

Sistem yang dikenal dengan nama komplemen satu (ones' complement) juga dapat digunakan untuk merepresentasikan bilangan negatif. 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).

Metode komplemen satu ini banyak dipakai di komputer generasi lama, seperti PDP-1, CDC 160A dan UNIVAC 1100/2200 series.

Komplemen dua (Two's complement)

sunting
8 bit two's complement (II)
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

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.

Referensi

sunting
  • Ivan Flores, The Logic of Computer Arithmetic, Prentice-Hall (1963)
  • Israel Koren, Computer Arithmetic Algorithms, A.K. Peters (2002), ISBN 1-56881-160-8

📚 Artikel Terkait di Wikipedia

Man's Search for Meaning

hierarchy of needs Statue of Responsibility - proposed in the book to complement the Statue of Liberty Life Is Beautiful (1997), film on how a positive

Kritik atas Nalar Murni

empiricism and rationalism—i.e. the sense and the reason—both necessarily complement each other. Vanzo, Alberto (2013). "Kant on Empiricism and Rationalism"

Komponen komplemen 3

Komponen komplemen 3 (bahasa Inggris: complement component 3, C3code: en is deprecated ) adalah salah satu glikoprotein dengan panjang 1663 asam amino

Makrofag

(2003-09). "Macrophage--Mycobacterium tuberculosis interactions: role of complement receptor 3". Microbial Pathogenesis. 35 (3): 125–131. doi:10.1016/s0882-4010(03)00099-8

Bilangan bulat

-32768} sampai 32767 {\displaystyle 32767} . Pada representasi two's complement yang umum digunakan, tanda hanya didefinisikan untuk membedakan "bilangan

Faktor komplemen B

Faktor komplemen B (bahasa Inggris: complement factor B, C3/C5 convertase, Properdin factor B, Glycine-rich beta glycoprotein, GBG, PBF2code: en is deprecated

Kapal selam kelas Borei

gallery:Yuriy Dolgorukiy, a Borey-class nuclear missile submarine Borey-class missile complement Movie of the official launch of Yuriy Dolgorukiy, YouTube

Granulosit

tulang sebagai protein komplemen wewenang (bahasa Inggris: regulatory complement systemcode: en is deprecated ). Neutrofil, eosinofil, dan basofil adalah