Bab 3: Sistem Angka dan Representasi Data
Floating-point Number Systems - Document Transcript
- Konversi Pecahan BIN ⇒ DEC Contoh: 1101.1012 = (…)10 Solusi: 1101.1012 = 0.1012 + 11012 = Bag.1 + Bag.2 Eksekusi Bag.1: 0.1012 = (…)10 = 1.2-1 + 0 + 1.2-3 = 0.5 + 0.125 = 0.62510 Eksekusi Bag.2: 11012 = (…)10 = 1.23 + 1. 22 + 0 + 1.20 =8+4+1 = 1310 Selanjutnya Bag.1 dan Bag.2 digabungkan dengan cara menjumlahkannya seperti berikut ini: Bag.1 + Bag.2 = 0.62510 + 1310 = 13.62510 maka, didapatkan: 1101.1012 = (13.625)10 Konversi Pecahan OCT ⇒ DEC Contoh: 057.11 = 57.118 = (…)10 Solusi: 57.118 = 0.118 + 578 = Bag.1 + Bag.2 Eksekusi Bag.1: 0.118 = (…)10 = 1.8-1 + 1.8-2 = 0.125 + 0.015625 = 0.14062510 1
- Eksekusi Bag.2: 578 = (…)10 = 5. 81 + 7.80 = 40 + 7 = 4710 Selanjutnya Bag.1 dan Bag.2 digabungkan dengan cara menjumlahkannya seperti berikut ini: Bag.1 + Bag.2 = 0.14062510 + 4710 = 47.14062510 maka, didapatkan: 57.118 = (47.140625)10 Konversi Pecahan HEX ⇒ DEC Contoh: 0x57.11 = 57.1116 = (…)10 Solusi: 57.1116 = 0.1116 + 5716 = Bag.1 + Bag.2 Eksekusi Bag.1: 0.1116 = (…)10 = 1.16-1 + 1.16-2 = 0.0625 + 0.00390625 = 0.0664062510 Eksekusi Bag.2: 5716 = (…)10 = 5. 161 + 7.160 = 80 + 7 = 8710 Selanjutnya Bag.1 dan Bag.2 digabungkan dengan cara menjumlahkannya seperti berikut ini: Bag.1 + Bag.2 = 0.0664062510 + 8710 = 87. 0664062510 maka, didapatkan: 57.1116 = (87. 06640625)10 Konversi Pecahan DEC ⇒ BIN Contoh: 13.62510 = (…)2 Solusi: 13.62510 = 0.62510 + 1310 = Bag.1 + Bag.2 Eksekusi Bag.1: 0.62510 = (…)2 0.625 0.25 0.50 0.00 2 2 2 2 1.25 0.50 1.00 0.00 selesai 1 0 1 (0.101) 2 2
- Eksekusi Bag.2: 1310 = (…)2 13 ÷ 2 = 6 sisa 1 ⇒ Least Significant Bit (LSB) 6 ÷ 2 = 3 sisa 0 3 ÷ 2 = 1 sisa 1 1 ÷ 2 = 0 sisa 1 ⇒ Most Significant Bit (MSB) dituliskan menjadi: 11012 Selanjutnya Bag.1 dan Bag.2 digabungkan dengan cara menjumlahkannya seperti berikut ini: Bag.1 + Bag.2 = 0.1012 + 11012 = 1101.1012 maka, didapatkan: 1101.1012 = (13.625)10 Konversi Pecahan DEC ⇒ OCT Contoh: 47.14062510 = (…)8 Solusi: 47.14062510 = 0.14062510 + 4710 = Bag.1 + Bag.2 Eksekusi Bag.1: 0.14062510 = (…)8 0.140625 0.125 0.00 8 8 8 1.125 1.00 0.00 selesai 1 1 (0.11) 8 Eksekusi Bag.2: 4710 = (…)8 47 ÷ 8 = 5 sisa 7 ⇒ Least Significant Digit (LSD) 5 ÷ 8 = 0 sisa 5 ⇒ Most Significant Digit (MSD) dituliskan menjadi: 578 Selanjutnya Bag.1 dan Bag.2 digabungkan dengan cara menjumlahkannya seperti berikut ini: Bag.1 + Bag.2 = 0.118 + 578 = 57.118 maka, didapatkan: 47.14062510 = (57.11)8 Konversi Pecahan DEC ⇒ HEX Contoh: 3
- 87.0664062510 = (…)16 Solusi: 87.0664062510 = 0.0664062510 + 8710 = Bag.1 + Bag.2 Eksekusi Bag.1: 0.0664062510 = (…)16 0.06640625 0.0625 0.00 16 16 16 1.0625 1.00 0.00 selesai 1 1 (0.11) 16 Eksekusi Bag.2: 8710 = (…)16 87 ÷ 16 = 5 sisa 7 ⇒ Least Significant Digit (LSD) 5 ÷ 16 = 0 sisa 5 ⇒ Most Significant Digit (MSD) dituliskan menjadi: 5716 Selanjutnya Bag.1 dan Bag.2 digabungkan dengan cara menjumlahkannya seperti berikut ini: Bag.1 + Bag.2 = 0.1116 + 5716 = 57.1116 maka, didapatkan: 47.14062510 = (57.11)16 Konversi Pecahan OCT ⇒ BIN Contoh: 10.238 = (…)2 Solusi: Lakukan dengan dua kali proses, yaitu: Proses-1: OCT⇒DEC Proses-2: DEC⇒BIN OCT⇒DEC 10.238 = 0.238 + 108 = Bag.1 + Bag.2 Eksekusi Bag.1: 0.238 = (…)10 = 2.8-1 + 3.8-2 = 0.25 + 0.046875 = 0.29687510 Eksekusi Bag.2: 108 = (…)10 = 1. 81 + 0.80 4
- =8+0 = 810 Selanjutnya Bag.1 dan Bag.2 digabungkan dengan cara menjumlahkannya seperti berikut ini: Bag.1 + Bag.2 = 0.29687510 + 810 = 8.29687510 maka, didapatkan: 8.29687510 = (…)2 OCT⇒BIN 8.29687510 = 0.29687510 + 810 = Bag.1 + Bag.2 Eksekusi Bag.1: 0.29687510 = (…)2 0.296875 0.59375 0.1875 0.375 0.75 0.50 0.00 2 2 2 2 2 2 2 0.59375 1.1875 0.375 0.75 1.50 1.00 0.00 selesai 0 1 0 1 0 1 (0.010101) 2 Eksekusi Bag.2: 810 = (…)2 8 ÷ 2 = 4 sisa 0 ⇒ Least Significant Bit (LSB) 4 ÷ 2 = 2 sisa 0 2 ÷ 2 = 1 sisa 0 1 ÷ 2 = 0 sisa 1 ⇒ Most Significant Bit (MSB) dituliskan menjadi: 10002 Selanjutnya Bag.1 dan Bag.2 digabungkan dengan cara menjumlahkannya seperti berikut ini: Bag.1 + Bag.2 = 0.0101012 + 10002 = 1000.0101012 maka, didapatkan: 8.29687510 = (1000.010101)2 = (00001000.010101)2 atau dengan kata lain, maka didapatkan: 10.238 = 8.29687510 = 1000.0101012 Untuk mendapatkan konversi Bilangan Pecahan HEX ⇒ BIN, algoritmanya seperti mendapatkan konversi Bilangan Pecahan OCT ⇒ BIN, yakni konversikan terlebih dahulu ke dalam DEC. Latihan: Bila diketahui isi variabel A = DEC(–43), carilah: a. Sign-magnitude b. Komplemen 1 c. Komplemen 2 5
- dalam biner dengan panjang 16 bit. Solusi: ⇒Nyatakan terlebih dahulu A dalam biner dengan panjang 16 bit, sebagai berikut: (43)10 = (…)2 43 ÷ 2 = 21 sisa 1 ⇒ Least Significant Bit (LSB) 21 ÷ 2 = 10 sisa 1 10 ÷ 2 = 5 sisa 0 5 ÷ 2 = 2 sisa 1 2 ÷ 2 = 1 sisa 0 1 ÷ 2 = 0 sisa 1 ⇒ Most Significant Bit (MSB) dituliskan menjadi: 1010112 atau 00000000001010112 NOT-kan : 11111111110101002 Tambahkan 1 : 11111111110101002 00000000000000012 + 11111111110101012 disimpulkan, bahwa (–43)10 = (1111111111010101)2 maka, dapat diselesaikan persoalan tersebut sebagai berikut: a) Sign-magnitude –nya = 11111111110101012 b) Menentukan Komplemen 1: NOT-kan biner ⇒ 11111111110101012 menjadi ⇒ 00000000001010102 Komplemen 1 = 00000000001010102 c) Menentukan Komplemen 2: Tambahkan 1 ke biner pada Komplemen 1, sebagai berikut: 00000000001010102 00000000000000012 + 00000000001000112 Komplemen 2 = 00000000001010102 Latihan: Jika isi variabel A = DEC1, dan perbandingan isi variabel B dan variabel C adalah 2:1, maka carilah isi register R1 dan R2 apabila diketahui instruksi mnemonic-nya sebagai berikut: MOV R1,C ADD A,B MOV R2,A SUB R1,R2 Solusi: A = 110 ; B:C = 2:1, maka isi variabel B = 2 kali isi variabel C Sesuai dengan instruksi mnemonic pada persoalan di atas, dituliskan dan diuraikan sebagai berikut: 6
- Instruksi mnemonic Deskripsi MOV R1,C R1←C ADD A,B A=A+B = A+2C = 1+2C MOV R2,A R2←A R2=1+2C SUB R1,R2 R1=R1 – R2 =C – (1+2C) = –1 – C Didapatkan hasil sebagai berikut: Isi register R1 = –1 – C Isi register R2 = 1 + 2C Bila pada akhir instruksi mnemonic tersebut dilakukan pengisian input-value pada processing-devices dengan set-up nilai sebagai berikut: Misalkan, jika C diisi DEC 5, maka: Isi register R1 menjadi: –1–5 = –610, sedangkan Isi register R2 menjadi: 1 + 2(5) = 1110.
Tidak ada komentar:
Posting Komentar