•
REPRESENTASI BILANGAN FIXED-POINT
Untuk representasi bilangan fixed-point
diperlukan :
a.
lokasi atau register penyimpanan computer yg ukurannya memadai utk
menyimpan seluruh digit bilangan
b. kemungkinan
utk menjaga track tempat beradanya point tersebut
Contoh:
contoh desimal utk representasi 5 digit. Jika diasumsikan posisi point adalah
:
|
|
|
|
|
|
Maka :
|
0
|
1
|
3
|
7
|
5
|
3 klasifikasi dasar representasi
fixed-point
a.
representasi
mid-point
Dimana
terdapat digit baik sebelum dan sesudah point tersebut
b.
representasi
integer
Dimana
tidak terdapat digit setelah point desimal
c.
representasi
pecahan
Dimana
tidak ada digit sebelum point desimal
Signed Number adalah bilangan biner yang dapat mempresentasikan bilangan negatif. Ada banyak tipe Signed Number. Tapi yang akan kita bahas disini hanya 3 tipe saja yaitu sign-and-magnitude, one’s complement, two’s complement.
Sign-and-magnitude adalah cara yang paling mudah, kita tinggal menambahkan sign bit di bit terdepan (Most Significant Bit). Sign bit untuk bilangan positif adalah 0, negatif 1. Contohnya untuk 4 bit, dapat mempresentasikan angka 1111 (-7) sampai 0111 (7). Tapi, konsekuensinya ada dua tipe angka 0 yaitu 0000 (0) dan 1000 (-0). Cara ini digunakan komputer biner zaman dulu (misalnya IBM 7090), dan sudah jarang digunakan komputer saat ini.
One’s complement, untuk mempresentasikan angka negatif, kita meng-invers angka positifnya. Contohnya untuk 4 bit, 7 = 0111, inversnya adalah -7 = 1000. Sama seperti Sign-and-magnitude, akan ada dua tipe angka 0 yaitu 0000 (0) dan 1111 (-0). Untuk operasi penambahan, misalnya -3 + 5 :
1100 = -3
0101 = 5
—— +
0001 <– belum benar
0001 <– harus ditambah 1
—— +
0010 = 2
Two’s complement adalah cara yang paling banyak digunakan komputer sekarang. Hampir sama dengan One’s complement, bedanya setelah meng-invers kita harus menambahkan hasilnya dengan 1. Contohnya untuk 4 bit, 7 = 0111, negatifnya adalah -7 = 1000 + 1 = 1001. Kelebihannya, hanya akan ada satu tipe angka 0 yaitu 0000 (0), karena jika -0 = 1111 + 1 = 10000 = 0000. 1 yang paling depan bisa diabaikan karena kita hanya menggunakan 4 bit. Untuk operasi penambahan dapat langsung mendapatkan hasil, misalnya -3 + 5 :
1101 = -3
0101 = 5
—— +
0010 = 2 <– sudah benar
Metode Sign-and-magnitude
Dalam sistem biner
representasi bilangan signed berisi : tanda (sign) dan besar nilai
(magnitude).
Untuk menyatakan
tanda bilangan (positif atau negatif), dapat digunakan salah satu bit yang ada
untuk menyatakan tanda tersebut. Bit tersebut (biasanya bit yang paling kiri
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 merepresentasikansignificand di
dalam bilangan floating point.
|
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
|
Komplemen satu (Ones' complement)
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.
|
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
|
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 = 1101
|
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
|
#RidhwanR
#HBSCJ 012
Tidak ada komentar:
Posting Komentar