PERTEMUAN KE – 2

advertisement
SISTEM BILANGAN
SISTEM BILANGAN




Sistem Bilangan Desimal
Sistem Bilangan Biner
Sistem Bilangan Oktal
Sistem Bilangan Heksadesimal
Sistem Bilangan Desimal


Basis 10
Bilangan : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Sistem Bilangan Desimal
Contoh :
Angka 321 dengan dasar 10 maka :
(3 * 102) + (2 * 101) + (1 * 100) = 321
Angka 4532 dengan dasar 10 maka :
(4 * 103) + (5 * 102) + (3 * 101) + (2 * 100) = 4532
Sistem Bilangan Biner


Basis 2
Bilangan : 0, 1
Sistem Bilangan Biner
Contoh :
1110 bilangan desimalnya adalah :
(1 * 23) + (1 * 22) + (1 * 21) + (0 * 20) =
8
+ 4
+
2
+
0 = 14
110111 bilangan desimalnya adalah :
(1 * 25) + (1 * 24) + (0 * 23) + (1 * 22) + (1 * 21) + (1 * 20) =
32 +
16 +
0
+ 4
+
2
+
1 = 55
Sistem Bilangan Biner
-Konversikan bilangan desimal 50 ke bilangan biner dilakukan dengan cara sebagai berikut :
50 / 2
25 / 2
12 / 2
6/2
3/2
1/2
= 25 sisa 0
= 12 sisa 1
= 6 sisa 0
= 3 sisa 0
= 1 sisa 1
= 0 sisa 1
cara membaca hasil
110010
Sistem Bilangan Oktal
Bilangan oktal merupakan bilangan berdasar 8,
jadi bilangan ini hanya terdiri dari angka 0 hingga 7.
Contoh :
355 bilangan oktal ke desimal :
355 oktal = (3 * 82) + (5 * 81) + (5 * 80)
= 192 + 40 + 5
= 237 Desimal
204 bilangan oktal ke desimal :
204 oktal = (2 * 82) + (0 * 81) + (4 * 80)
= 128 +
0
+
4
= 132 Desimal
Sistem Bilangan Oktal
Konversikan 96 desimal menjadi bilangan oktal :
96 / 8 = 12 sisa 0
12 / 8 = 1 sisa 4
hasil : 140 oktal
1 / 8 = 0 sisa 1
Konversikan 1011101 bilangan biner ke bilangan oktal :
1 011 101
1011101 =
1
3
5
Dengan demikian 1011101 (biner) = 135 (oktal)
Sistem Bilangan Hexa Desimal
Bilangan Hexadesimal merupakan bilangan berdasar 16,
jadi bilangan ini terdiri dari angka 0 hingga 9 dan A, B, C, D, E, F
Contoh :
3A bilangan desimalnya adalah :
3A Hexa = (3 * 161) + (10 * 160)
=
48
+
10
= 58 desimal
A341 bilangan desimalnya adalah :
A341 Hexa = (10 * 163) + (3 * 162) + (4 * 161) + (1 * 160)
=
40960 + 768
+
64
+
1
= 41793 desimal
Sistem Bilangan Hexa Desimal
Konversikan bilangan desimal 400 menjadi bilangan hexadesimal :
400 / 16 = 25 sisa 0
25 / 16 = 1 sisa 9
hasil = 190 hexadesimal
1 / 16 = 0 sisa 1
Konversikan 11011001101 (biner) menjadi bilangan hexa desimal :
0110 1100 1101
11011001101 =
6
C
D
Jadi hasilnya adalah 6CD Hexa.
Bilangan Integer



Bilangan bulat dalam sistem komputer
Sign integer (bisa untuk negative positive)
Unsign integer (hanya positive)
Unsign integer
No. of No. of
Type
bytes bits
unsigned char
1
8
unsigned short
2
16
unsigned int
4
32
unsigned long
4
32
Range
0 … 255
0 … 65,535
0 … 4,294,967,295
0 … 4,294,967,295
Signed Integer
• Sign Magnitude (SM):
– Penjumlahan, aturan:
 sign tidak dijumlahkan, hanya magnitude
 buang carry out dari msb magnitude
 jumlahkan yang sign-nya sama (+ ke + atau - ke - )
 sign hasil = sign penambah
– Contoh
14
Signed Integer
• Sign Magnitude (SM):
– Pengurangan, aturan:
 lakukan jika sign sama, jika sign berbeda, ubah soal
penjumlahan
 perbandingkan magnitude, lakukan:
a - b menjadi a + (-b)
a + b menjadi a - (-b)
– Contoh
15
ke
Signed Data Types
No. of No. of
Type
bytes bits
char
1
8
short
2
16
int
4
32
long
4
32
16
Range
-128 … 127
-32,768 … 32,767
-2,147,483,648 .. 2,147,483,647
-2,147,483,648 .. 2,147,483,647
 BILANGAN FLOATING-POINT
 Representasi bilangan floating-point mempunyai tiga bagian:
1. Mantissa
2. Basis
3. Eksponen
 Contoh :
17
Bilangan
3 x 106
110 x 28
Mantissa
3
110
Basis
10
2
Eksponen
6
8
6132.784
34.58
0.6132784
0.3458
10
10
4
2
 Mantissa dan eksponen direpresentasikan secara eksplisit dalam
komputer. Tetapi basisnya (base) adalah yg digunakan oleh komputer
tersebut.
 Umumnya komputer mengikuti basis 2.
 Umumnya sebuah bilangan f direpresentasikan sebagai f = m x re di
mana m adalah mantissa, r adalah basis dari sistem bilangan dan e
adalah eksponen (pangkat dari basis yg digunakan).
 Format umum bilangan floating-point:
S
18
Eksponen
Mantissa
 Semula penggunaan format berbeda antar pabrik komputer untuk
merepresentasikan bilangan floating-point. Tetapi saat ini telah
digunakan format standar ANSI/IEEE secara luas (format IEEE 754).
Sedangkan IBM mempunyai standar khusus
 Ada dua format standar IEEE 754 yg dikeluarkan yaitu untuk presisi
tunggal (single precision) dan format standar untuk bilangan presisi
ganda (double precision)
S
Eksponen, 8 bit
Mantissa, 23 bit
Format floating-point presisi tunggal (32 bit)
S
19
Eksponen, 11 bit
Mantissa, 52 bit
Format floating-point presisi ganda (64 bit)
NORMALISASI FLOATING-POINT
 Bilangan floating-point dapat direpresentasikan dgn banyak cara
seperti yg ditunjukkan untuk bilangan desimal 140 x 28:
140 x 28,
14 x 29,
1400 x 27,
1.4 x 210, 0.14 x 211,
.014 x 212 .... dst.
 Suatu bilangan floating-point berada dalam bentuk ternormalisasi
jika Most Significant Digit dari mantissa bukan-nol (non-zero).
 Untuk mengubah menjadi bilangan yg ternormalisasi, mantissa
harus digeser ke kanan atau ke kiri dgn tepat, menaikkan atau
menurunkan eksponen. Jika semua bilangan floating-point
direpresentasikan dalam komputer dgn bentuk ternormalisasi, maka
posisi bit satu dapat disimpan dengan mengabaikan MSB (selalu
1). Ini disebut hidden 1 principle.
20
FPS and Hardware
 Floating point hardware umumnya mempunyai
sekumpulan register khusus dan instruksi untuk
melaksanakan floating point
 Juga terdapat instruksi khusus untuk perpindahan
data antara memori atau normal register dan floating
point register.
21
Contoh: Tuliskan +0.0010110… x 29 dalam format single
precision standar IEEE 754
Solusi:
Setelah dinormalisasi : +1.0110… x 26
E’ = 6 + 127 = 133 = 10000101
0
22
10000101
0110…
Contoh: Tuliskan (0.75)10 dalam format single precision standar IEEE
Solusi:
 Sign bit, S = 1 (negatip)
0.75 x 2 = 1.5 → 1
0.5 x 2 = 1.0 → 1
0.0 x 2 = 0.0 → 0
0.11000000 = 0.11000000 x 20
dinormalisasi = 1.100… x 21
M = 10000000000000000000000000
E=1
E’ = E + 127 =  1 + 127 = 126 = 01111110
Sehingga representasi single precision (0.75)10 :
1
23
01111110
10000000000000000000000
Latihan:
Typical 32-bit floating-point format
+1.638125 X 220 =
0
10010011
10100011010111000010100
1.638125 X 220 =
1
10010011
10100011010111000010100
+1.638125 X 2―20 =
0
01101011
10100011010111000010100
1.638125 X 2―20 =
1
24
01101011
10100011010111000010100
Download