Bahasa assembly (bag. konversi bilangan)
1.Konversi Dari Sistem Bilangan Desimal
1.1.Konversi Desimal ke Biner
52/2 = 26 sisa 0, sebagai LSB( Least Significant Bit )
26/2 = 13 sisa 0
13/2 = 6 sisa 1
6 /2 = 3 sisa 0
3/2 = 1 sisa 1
1/2 = 0 sisa 1, sebagai MSB( Most Significant Bit )
sehingga 5210 à 1101002
o Cara lain à menjumlahkan bilangan-bilangan pangkat dua yang jumlahnya sama dengan bilangan desimal yang akan dikonversikan. Contoh konversi bilangan 5410 ke bilangan biner :
20 = 1 1
22 = 4 100
23 = 8 1000
25 = 35 100000 +
101101
o Bila bilangan desimal yang akan dikonversikan berupa pecahan à bilangan tersebut harus dipecah menjadi dua bagian. Contoh bilangan desimal 125,4375 dipecah menjadi 125 dan 0,4375.
125/2 = 62 sisa 1
62/2 = 31 sisa 0
31/2 = 15 sisa 1
15/2 = 7 sisa 1
7/2 = 3 sisa 1
3/2 = 1 sisa 1
1/2 = 0 sisa 1
Bilangan desimal 125 à 1111101.
Kemudian bilangan yang pecahan dikonversikan:
0,4375 * 2 = 0,875
0,875 * 2 = 1,75
0,75 * 2 = 1,5
0,5 * 2 = 1
hasil konversi 0,0111
Maka hasil konversi 125,4375 ke bilangan biner:
125 = 1111101
0,4375 = 0,0111 +
125,4375 = 11111,0111
1.2.Konversi Desimal ke Oktal
o Teknik pembagian yang berurutan dapat digunakan untuk mengubah bilangan desimal menjadi oktal. Contoh : 581910 à oktal:
5819/8 = 727 sisa 3, LSB
727/8 = 90 sisa 7
90/8 = 11 sisa 2
11/8 = 1 sisa 3
1/8 = 0 sisa 1, MSB
Sehingga 581910 = 132738
1.3.Konversi Desimal ke Hexadesimal
o Dengan remainder method [pembaginya basis dari bilangan hexadesimal :16]. 340910 à hexadesimal:
3409/16 = 213 sisa 1 = 1, LSB
213/16 = 13 sisa 5 = 5
13/16 = 0 sisa 13 = 0, MSB
jadi, 340910 = 05116
2.Konversi dari Sistem Bilangan Biner
2.1.Konversi Biner ke Desimal
o Bilangan biner dikonversikan kebilangan desimal à mengalikan masing-masing bit dalam bilangan dengan posisi valuenya sebagai contoh :
10110110 = 1*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20
= 1*32 + 0*16 + 1*8 + 1*4 + 0*2 + 1*1
= 32 + 0 + 8 + 4 + 0 + 1
= 18210
o Bentuk pecahan biner à 1111101,0111 dapat dikonversikan :
1111101,0111 = 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 0*21 + 1*20 + 0*2-1 + 1*2-2 + 1*2-3 + 1*2-4
= 64+32+16+8+4+0+1+ 0.25 + 0.125 + 0.0625
= 125,437510
Sehingga 1111101,01112 = 125,437510
2.2.Konversi Biner ke Oktal
o Konversi dapat dilakukan dengan mengkonversikan tiap-tiap tiga buah digit biner, dimulai dari digit yang paling kanan. Contoh : 111100110012dikelompokkan menjadi 11 110 011 001 à
112 = 38, MSB
1102 = 68
0112 = 38
0012 = 18, LSB
Jadi bilangan biner 111100110012 = 36318
2.3.Konversi Biner ke Hexadesimal
o Konversi dapat dilakukan dengan mengkonversi tiap-tiap empat buah digit biner, diawalai dari digit yang paling kanan. Contoh : 01001111010111102dikelompokkan menjadi 0100 1111 1010 1110 à 0100 = 416, MSB
1111 = F16
0101 = 516
1110 = E16, LSB
Maka, bilangan 01001111010111102 = 4F5E16
3.Konversi dari Sistem Bilangan Oktal
3.1.Konversi Bilangan Oktal ke Desimal
o Bilangan oktal dapat dikonversikan ke bilangan desimal dengan mengalikan masing-masing bit dalam bilangan dengan position valuenya. Contoh : 3248 dikonversi kebilangan desimal :
3248 = 3 * 82 + 2 * 81 + 4 * 80
= 3 * 64 + 2 * 8 + 4 * 1
= 192 + 16 + 4
= 21210
o Apabila bilangan oktal yang akan dikonversikan itu memiliki koma à Contoh : mengkonversi bilangan 521,58 ke desimal :
521 = 5 * 82 + 2 * 81 + 1 * 80
= 320 + 64 + 1
= 337
sedangkan pecahannya à 0.5 = 5 * 8-1 = 0.625
Sehingga, 521,58 = 337.62510
3.2.Konversi Oktal ke Biner
o Konversi dari bilangan oktal ke biner dapat dilakukan dengan mengkonversikan masing-masing digit oktal ke tiga digit biner, dan masing-masing digit okatl diubah ke biner secara terpisah kemudian diurutkan dari MSB ke LSB. Contoh : 35278 à ke biner :
3 = 0112, MSB
58 = 1012
28 = 0102
78 = 1112, LSB
Sehingga, 35278 = 0111010101112.
o Konversi bilangan oktal yang berkoma à 75,638 :
@ 758 @ 638
78 = 1112 68 = 1102
58 = 1012 38 = 0112
Sehingga, 75,638 = 111101,1100112
3.3.Konversi Oktal ke Heksadesimal
o Ada dua tahapan :
a.Rubah bilangan oktal ke bilangan biner, kemudian
b.Rubah bilangan biner ke bilangn heksadesimal
Contoh : 25378 dikonversi keheksadesimal à
o Konversi terlebih dahulu kebilangan biner
28 = 0102
58 = 1012
38 = 0112
78 = 1112
o Dari bilangan biner dikonversi ke bilangan heksadesimal
01012 = 516
01012 = 516
11112 = F16
Maka bilangan oktal 25378 = 55F16
4.Konversi dari Sistem Bilangan Heksadesimal
4.1.Konversi Heksadesimal ke Desimal
o Contoh : B6A à
B6A16 = 11 * 162 + 6 * 161 + 10 * 160
= 11 * 256 + 6 * 16 + 10 * 1
= 2816 + 96 + 10
= 292210
Tabel hubungan nilai heksadesimal diposisi tertentu dengan nilai desimal
Posisi 4
Posisi 3
Posisi 2
Posisi 1
Hexa
Desimal
Hexa
Desimal
Hexa
Desimal
Hexa
Desimal
0
0
0
0
0
0
0
0
1
4096
1
256
1
16
1
1
2
8192
2
512
2
32
2
2
3
12288
3
768
3
48
3
3
4
16384
4
1024
4
64
4
4
5
21480
5
1280
5
80
5
5
6
24576
6
1536
6
96
6
6
7
28672
7
1792
7
112
7
7
8
32768
8
2048
8
128
8
8
9
36864
9
2304
9
144
9
9
A
40960
A
2560
A
160
A
10
B
45056
B
2816
B
176
B
11
C
49152
C
3072
C
192
C
12
D
53248
D
3728
D
288
D
13
E
57344
E
3584
E
224
E
14
F
61440
F
3840
F
240
F
15
Contoh 17E16 = 256 + 112 + 14 = 38210
o Bila bilangan heksadesimal yang akan dikonversikan berupa pecahan : Contoh : 9B,05 dikonversikan ke desimal à
9B,0516 = 9*161 + 11*160 + 0*16-1 + 5*16-1 = 9*16 + 11*1 + 0*0.625 + 5*0.004
= 144 + 11 + 0 + 0,02
= 155,0210
4.2.Konversi Heksadesimal ke Biner
o Contoh : 2A5C16 dikonversi ke biner
216 = 00102, MSB
A16 = 10102
516 = 01012
C16 = 110016, LSB
Sehingga 2A5C16 = 00101010010111002
4.3.Konversi Heksadesimal ke Oktal
o Contoh : 55F16 dikonversi ke desimal à
· Rubah terlebih dahulu ke biner
516 = 01012
5 16 = 01012
F16 = 11112
o Dari bilangan biner baru dikonversikan ke oktal
0102 = 28
1012 = 38
1112 = 78
Maka 55F16 = 25378
No comments:
Post a Comment