Rabu, 16 Maret 2011

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

Tidak ada komentar:

Posting Komentar