Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Representasi Bilangan dan Operasi Aritmatika Kuliah#8 TSK205 Sistem Digital - TA 2011/2012 Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Eko Didik Widianto Teknik Sistem Komputer - Universitas Diponegoro Review Kuliah Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) I I Sebelumnya telah dibahas tentang sintesis rangkaian logika dan teknologi implementasi menggunakan CMOS. Dalam rangkaian logika, diimplementasikan variabel-variabel (masukan dan keluaran) yang menyatakan suatu keadaan switch atau kondisi atau sistem Selanjutnya akan dibahas tentang representasi nilai digital untuk variabel sistem digital/komputer ini Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Tentang Kuliah Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) I Representasi posisional: bilangan unsigned, desimal, biner, oktal dan hexadesimal I Konversi bilangan I Bilangan bertanda: sign-magnitude, 1´s complement, 2´s complement I Operasi penjumlahan dan pengurangan I Overflow aritmatika I Bilangan fixed-point, floating-point, BCD dan ASCII Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Kompetensi Dasar Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) I Setelah mempelajari bab ini, mahasiswa akan mampu: 1. [C2] Mahasiswa akan mampu menuliskan sistem bilangan digital, dalam bentuk bilangan positional, bertanda (signed) dan tak bertanda (unsigned) dengan tepat 2. [C2] Mahasiswa akan mampu menuliskan bilangan pecahan dalam bentuk fixed-point dan floating-point dengan tepat 3. [C2] Mahasiswa akan mampu merepresentasikan informasi/bilangan digital ke dalam kode BCD (binary-coded decimal) maupun ASCII dengan tepat 4. [C3,C4] Mahasiswa akan mampu melakukan operasi penjumlahan dan pengurangan dengan tepat menggunakan sistem bilangan 2´s complement dan mampu menganalisis kondisi overflow aritmatika I Link I Website: http://didik.blog.undip.ac.id/2012/02/24/ kuliah-sistem-digital-tsk-205-2011/ I Email: [email protected] Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Bahasan Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Representasi Posisional Bilangan Signed (Bertanda) Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Operasi Penjumlahan dan Pengurangan Representasi Lainnya Lisensi Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Bilangan Integer dan Desimal I Dua tipe bilangan 1. Tak bertanda (unsigned): bilangan yang hanya memuat nilai positif 2. Bertanda (signed): bilangan yang memuat nilai positif dan negatif I Sistem desimal, unsigned integer I I I I I bilangan memuat digit yang mempunyai nilai 0-9 Bilangan desimal n-digit dapat dinyatakan sebagai D = dn−1 dn−2 · · · d1 d0 Bilangan D tersebut mewakili nilai integer V (D) = dn−1 ×10n−1 +dn−2 ×10n−2 +· · ·+d1 ×101 +d0 ×100 Misalnya: 8547 mewakili 8 × 103 + 5 × 102 + 4 × 101 + 7 × 100 Representasi bilangan tersebut disebut representasi posisional Bilangan desimal disebut bilangan radix-10 atau base-10, karena digitnya mempunayi 10 nilai yang mungkin dan tiap digit berbobot pangkat 10 Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Representasi Bilangan dan Operasi Aritmatika Bilangan Biner @2012,Eko Didik Widianto ([email protected]) I I I I Representasi Posisional Dalam sistem digital, digunakan bilangan biner atau base-2 Bilangan Signed (Bertanda) Tiap digit (bit, binary digit) mempunyai nilai 0 atau 1 Sebuah variabel mewakili satu bit Operasi Penjumlahan dan Pengurangan Representasi posisional bilangan biner n-digit: Bilangan Fixed-Point dan Floating-Point B = bn−1 bn−2 · · · b1 b0 I Bilangan B tersebut mewakili nilai integer V(B) V (B) = bn−1 × 2n−1 + bn−2 × 2n−2 + · · · + b1 × 21 + b0 × 20 Representasi Lainnya = n−1 P bi × i=0 I I Misalnya: (1101)2 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = (13)10 Bilangan n-bit mewakili bilangan integer positif dari 0 . . . 2n − 1 2i Lisensi Representasi Bilangan dan Operasi Aritmatika Bilangan Oktal dan Hexadesimal @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Representasi posisional dapat digunakan untuk sebarang radix I I I n−1 P Representasi Lainnya i=0 Lisensi ki × ri Bilangan dengan radix 8 disebut oktal I Digit bernilai dari 0 . . . 7 Bilangan dengan radix 16 disebut hexadesimal (hex) I Digit bernilai dari 0 . . . 9 dan A . . . F Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Untuk radix r, maka untuk bilangan K = kn−1 kn−2 · · · k1 k0 mempunyai nilai integer Bilangan Signed (Bertanda) Representasi Bilangan dan Nilai Ekivalennya Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Desimal Biner Oktal Hexa Desimal Biner Oktal Hexa 0 0000 0 0 8 1000 10 8 1 0001 1 1 9 1001 11 9 Bilangan Fixed-Point dan Floating-Point 2 0010 2 2 10 1010 12 A Representasi Lainnya 3 0011 3 3 11 1011 13 B Lisensi 4 0100 4 4 12 1100 14 C 5 0101 5 5 13 1101 15 D 6 0110 6 6 14 1110 16 E 7 0111 7 7 15 1111 17 F Operasi Penjumlahan dan Pengurangan Representasi Bilangan dan Operasi Aritmatika Konversi Bilangan I Konversi bilangan biner ke desimal atau sebaliknya I Representasi Posisional Biner ke desimal V (B) = = bn−1 × 2n−1 + bn−2 × 2n−2 + · · · + b1 × 21 + b0 × 20 n−1 X @2012,Eko Didik Widianto ([email protected]) i bi × 2 Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point i=0 Representasi Lainnya Misalnya: (11101011)2 I Lisensi = 27 + 26 + 25 + 23 + 21 + 20 = (235)10 = 235 Desimal ke biner I I I Bagi bilangan desimal D dengan 2, memberikan hasil bagi (quotient) dan sisa. Sisa nilainya 0 atau 1. Sisa akan menjadi LSB Bagi quotient dengan 2, memberikan hasil bagi dan sisa. Ulangi pembagian quotient sampai quotient=0 Untuk setiap pembagian, sisa akan merepresentasikan satu bit bilangan binernya Contoh Desimal ke Biner Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Representasi Bilangan dan Operasi Aritmatika Konversi Biner-Oktal-Hexadesimal @2012,Eko Didik Widianto ([email protected]) I Representasi Posisional Biner - Oktal I I I 1 digit oktal merupakan grup 3 digit biner Biner 001 000 Konversi biner - oktal: Oktal 1 0 Oktal 2 3 Konversi oktal - biner: Biner 010 011 Bilangan Signed (Bertanda) 110 6 6 110 100 4 7 111 Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi I Biner - Hexadesimal I I I 1 digit hexa merupakan grup 4 digit biner Konversi biner - hexa: Biner 1111 0000 0110 0100 Hexa F 0 6 4 Konversi hexa - biner: Hexa 2 A C 7 Biner 0010 1010 1100 0111 Bilangan Signed Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) I Dalam sistem biner, representasi bilangan signed berisi: tanda (sign) dan besar nilai (magnitude) I I Tanda diyatakan oleh bit paling kiri (0: bilangan positif, 1: bilangan negatif) Bilangan n-bit: 1 bit paling kiri menyatakan tanda, n-1 bit berikutnya menunjukan besar nilai bilangan Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Representasi Bilangan dan Operasi Aritmatika Bilangan Sign-Magnitude @2012,Eko Didik Widianto ([email protected]) I Representasi Posisional Di bilangan signed, terdapat 3 format yang umum digunakan untuk representasi bilangan negatif Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan 1. Sign-Magnitude 2. 1’s Complement 3. 2’s Complement Bilangan Fixed-Point dan Floating-Point Representasi Lainnya I I Bilangan sign-magnitude menggunakan 1 bit paling kiri untuk menyatakan tanda (0: positif, 1: negatif) dan bit sisanya menyatakan magnitude (besar nilai bilangan). Bilangan 4-bit: Lisensi 0 1 2 3 4 5 6 7 Positif 0000 0001 0010 0011 0100 0101 0110 0111 Negatif 1000 1001 1010 1011 1100 1101 1110 1111 Walaupun ini mudah dipahami, tapi ini tidak cocok digunakan di sistem komputer (dibahas di Operasi Bilangan) Representasi Bilangan dan Operasi Aritmatika Bilangan 1’s Complement @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I I I I Skema 1’s Complement: Bilangan n-bit negatif K dapat diperoleh dari mengurangkan 2n − 1 dengan bilangan positif ekivalennya P K = (2n − 1) − P Misalnya untuk bilangan 4-bit (n=4): K = (24 − 1) − P = 15 − P = (1111)2 − P Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya 0 1 2 3 4 5 6 7 Positif 0000 0001 0010 0011 0100 0101 0110 0111 Negatif 1111 1110 1101 1100 1011 1010 1001 1000 Terlihat bahwa 1’s complement dapat dibentuk dengan mengkomplemenkan tiap bit bilangan, termasuk bit tanda Masih ada kekurangan dari penggunaan 1’s complement (dibahas di Operasi Bilangan) Lisensi Representasi Bilangan dan Operasi Aritmatika Bilangan 2’s Complement @2012,Eko Didik Widianto ([email protected]) I I Skema 2’s Complement: Bilangan n-bit negatif K dapat diperoleh dari mengurangkan 2n dengan bilangan positif ekivalennya P K = 2n − P Misalnya untuk bilangan 4-bit (n=4): K = 24 − P = 16 − P = (10000)2 − P Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya 0 1 2 3 4 5 6 7 8 - Positif 0000 0001 0010 0011 0100 0101 0110 0111 Negatif 0000 1111 1110 1101 1100 1011 1010 1001 1000 I Terlihat bahwa 2’s complement dapat dibentuk dengan mengkomplemenkan tiap bit bilangan dan menambahkan 1 I I (2’s complement) = (1’s complement) + 1 Bilangan signed 2’s complement ini yang sering digunakan dalam sistem komputer Lisensi Aturan Mencari 2’s Complement Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) I Jika diberikan satu bilangan signed B = bn−1 bn−2 · · · b1 b0 (baik positif maupun negatif) maka 2’s complementnya K = kn−1 kn−2 · · · k1 k0 dapat diperoleh dengan I I I Melihat semua bit B dari kanan ke kiri (mulai b0 , b1 , dst) dan mengkomplemenkan semua bit setelah nilai ’1’ yang pertama dijumpai Jika B=+76 (01001100) maka K=-76 (10110100) Jika B=-81 (10101111) maka K=+81 (01010001) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Bilangan Integer Bertanda (Signed Integer) 4-bit b3 b2 b1 b0 sign-magnitude 1’s complement 2’s complement 0111 +7 +7 +7 0110 +6 +6 +6 0101 +5 +5 +5 0100 +4 +4 +4 0011 +3 +3 +3 0010 +2 +2 +2 0001 +1 +1 +1 0000 +0 +0 +0 1000 -0 -7 -8 1001 -1 -6 -7 1010 -2 -5 -6 1011 -3 -4 -5 1100 -4 -3 -4 1101 -5 -2 -3 1110 -6 -1 -2 1111 -7 -0 -1 Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Representasi Bilangan dan Operasi Aritmatika Jangkauan Bilangan Signed @2012,Eko Didik Widianto ([email protected]) #Bit Nama 4 nible, semioctet 8 byte, octet 16 half-word, word, short 32 word, long, doubleword, int 64 doubleword, int64 n Integer n-bit (bentuk umum) Jangkauan 3 3 signed: − unsigned: signed: − unsigned: signed: − unsigned: signed: − 2 s/d 2 − 1 0 s/d 24 − 1 27 s/d 27 − 1 0 s/d 28 − 1 215 s/d 215 − 1 0 s/d 216 − 1 231 s/d 231 − 1 unsigned: signed: − unsigned: signed: − 0 s/d 232 − 1 263 s/d 263 − 1 0 s/d 264 − 1 2n−1 s/d 2n−1 − 1 unsigned: 0 s/d 2n − 1 Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Operasi Bilangan Unsigned Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) I I Operasi penjumlahan 2 bilangan 1-bit memberikan 4 kombinasi yang mungkin Diimplementasikan dengan HA (Half-Adder) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Rangkaian Full-Adder (FA) Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Rangkaian Full-Adder (Dekomposisi) Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Rangkaian Full-Adder (Dekomposisi Lain) Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan I Persamaan: I I I ci+1 = xi yi + xi ci + yi ci = xi yi + (xi + yi ) ci si = xi ⊕ yi ⊕ ci Anggap gi = xi yi dan pi = xi + yi , maka ci+1 = gi + pi ci I Rangkaian? Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Operasi Penjumlahan Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Operasi penjumlahan 2 bilangan dengan n-bit (n>1) I I Tiap pasang bit ditambahkan Untuk tiap posisi bit i, operasi penjumlahannya mungkin melibatkan sebuah carry-in dari bit posisi (i-1) Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Ripple Carry Adder (RCA) I I I Operasi penjumlahan dimulai dari pasangan digit paling kanan (LSB) sampai ke paling kiri (MSB) Jika sebuah carry dihasilkan dalam suatu posisi bit i, maka carry tersebut ditambahkan ke operasi penjumlahan di digit dengan posisi i+1 Operasi ini dapat diwujudkan dengan sebuah rantai full-adder (FA) yang dihubungkan seri I I I Konfigurasi ini disebut sebagai penjumlah ripple-carry Sinyal carry ’ripple’ dari FA satu ke FA berikutnya RCA ini mempunyai kelemahan, yaitu adanya delay untuk meripple carry I Akan diperbaiki dengan struktur CLA Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Operasi Bilangan Signed Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Sign-magnitude I I I 1’s complement I I I Misalnya: operasi 5-2=? ekivalen dengan 5+(-2)=3. Bagaimana implementasinya, apakah 0101+1010? Perlu rangkaian logika untuk membandingkan dan mengurangkan bilangan Misalnya: (-5)+(-2)=(-7). Ekivalen dengan 1010+1101=(1)0111. Carry 1 harus ditambahkan ke 0111 agar menghasilkan 1000 (=-7) Perlu koreksi untuk mendapatkan hasil yang benar 2’s complement I penjumlahan selalu benar Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Operasi 2’s Complement Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Penjumlahan Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Operasi 2’s Complement Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Pengurangan Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Unit Penjumlah dan Pengurang Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Operasi pengurangan dapat direalisasikan sebagai operasi penjumlahan dengan menggunakan 2’s complement di pengurangnya (baik positif maupun negatif) I Ini memungkinkan menggunakan rangkaian adder untuk melakukan penjumlahan dan pengurangan sekaligus Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi I I Note: (2’s complement) = (1’s complement) + 1 1’s complement dapat diimplementasikan dengan menggunakan XOR I I x ⊕ 1 = x dan x ⊕ 0 = x Jika operasi pengurangan dilakukan, 1’s complementkan bilangan kedua dengan meng-XOR-kan semua bit dengan 1 Unit Penjumlah dan Pengurang Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Menggunakan 2’s complement di bilangan pengurang Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Overflow Aritmatika Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) I I Jika n-bit digunakan untuk merepresentasikan bilangan signed, maka hasil penjumlahan atau pengurangan harus dalam jangkauan −2n−1 sampai +2n−1 − 1 Jika hasil operasi tidak dalam jangkauan ini, maka telah terjadi overflow aritmatika I I Untuk memastikan rangkaian aritmatika beroperasi dengan benar, perlu pendeteksi kejadian overflow Untuk operasi 4-bit, jika c3 dan c4 mempunyai nilai yang sama, maka tidak terjadi overflow Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Overflow Aritmatika Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) I Overflow dapat dideteksi dengan: I I Untuk bilangan n-bit I I overflow = c3 ⊕ c4 overflow = cn−1 ⊕ cn Bagaimana rangkaian unit penjumlah/pengurang dengan overflow detection? Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Rangkaian Komparator Bilangan Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Misalnya: Bandingkan dua bilangan X = x3 x2 x1 x0 dan Y = y3 y2 y1 y0 I I Bisa diimplementasikan dengan rangkaian pengurang (X-Y) Terdapat 3 output: Z, N, V I I I I Z=1 jika (X-Y)=0, hasil lainnya Z=0 N=1 jika (X-Y)<0, hasil lainnya N=0 V=1 jika terjadi overflow aritmatika, kalau tidak ada overflow V=0 Tunjukkan bagaimana Z, N, V digunakan untuk menentukan X=Y, X<Y, X≤Y, X>Y dan X≥Y Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Representasi Bilangan dan Operasi Aritmatika Solusi @2012,Eko Didik Widianto ([email protected]) I Misalnya X < Y, kemungkinan yang akan terjadi I I I I Jika X dan Y mempunyai tanda yang sama, tidak akan terjadi overflow, sehingga V=0. Dan untuk semua nilai X dan Y (positif/negatif) menghasilkan nilai negatif N=1 Saat X negatif dan Y positif, maka (X-Y) akan negatif (N=1) jika tidak ada overflow (V=0) dan (X-Y) akan positif (N=0) jika terdapat overflow (V=1) Sehingga jika X<Y maka N ⊕ V = 1 Hasil I I I X=Y terdeteksi saat Z=1 X<Y terdeteksi jika N ⊕ V = 1. X≤Y terdeteksi jika Z + (N ⊕ V ) = 1 X>Y terdeteksi jika Z + (N ⊕ V ) = 1. X≥Y terdeteksi jika (N ⊕ V ) = 1 Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Rangkaian Komparator 4-bit Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Representasi Bilangan dan Operasi Aritmatika Bilangan Fixed-Point @2012,Eko Didik Widianto ([email protected]) I Bilangan fixed-point terdiri atas bagian integer (digit signifikan) dan pecahan I I memungkinkan bilangan pecahan (mis: 75,625) Digunakan di mesin yang tidak mempunyai FPU (floating-point unit) I Notasi bilangan (n+k) bit: Bn, k = bn−1 bn−2 · · · b1 b0 , b−1 b−2 · · · b−k I n: #bit integer (tanpa bit tanda), k: #bit pecahan. Misal: B3,4 adalah bilangan dengan 3 bit integer dan 4 bit pecahan yang disimpan dalam satu integer 2’s complement 8-bit I Nilai bilangan: V(Bn, k) = n−1 P bi × 2i i=−k I Contoh: I I B3, 4 = (0101, 1010)2 = 22 + 1 + 2−1 + 2−3 = 5, 62510 = 5, A16 B3, 4 = (1011, 1010)2 = − 22 + 1 + 2−1 + 2−3 = −5, 62510 = B, A16 I Rangkaian logika untuk fixed-point sama dengan bilangan integer Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Konversi Bilangan Fixed-Point Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Konversi Bilangan Fixed-Point Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Bilangan Floating-Point Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Bilangan fixed-point mempunyai range yang dibatasi oleh digit signifikan yang digunakan untuk merepresentasikan bilangan I Dalam beberapa aplikasi, diperlukan bilangan yang mungkin sangat besar atau sangat kecil Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya I I I I Memerlukan representasi floating-point Bilangan direpresentasikan dengan mantissa yang berisi bit signifikan dan eksponen dari radix R Format: mantisa × R eksponen Bilangan tersebut seringkali dinormalisasi terhadap radixnya. Misalnya untuk radix 10: 1, 5 × 1044 atau 1, 25 × 10−36 Lisensi Representasi Bilangan dan Operasi Aritmatika Format IEEE Presisi Tunggal @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya I IEEE mendefinisikan format 32-bit (single precision) untuk nilai floating-point (IEEE 754-1985) I I I 1-bit sign (S) 8-bit eksponen (E) 23-bit mantissa (M) I Dalam programming dikenal dengan tipe data float (C, C++, Java) dan single (Pascal, VB, MATLAB) I Nilai bilangan: V(B) = (−1)S 1+ 23 P ! b−i × 2−i i=1 I Baca: http://en.wikipedia.org/wiki/Single_precision × 2E−127 Lisensi Representasi Bilangan dan Operasi Aritmatika Bilangan Float 32-bit @2012,Eko Didik Widianto ([email protected]) I Representasi bilangan float I I B = (3E200000)16 B=(+)(1.01)2 × 2124−127 = +(0.00101)2 = 0.15625 Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya I Nilai eksponen: Lisensi I Emin = 1, Emax = 254, menghasilkan eksponen (bias=127): E = 1 − 127 = −126 dan E = 254 − 127 = 127 Eksponen Signifikan=0 signifikan6=0 (E) 0 255 subnormal (−1)S × 0.bit signifikan × 2−126 Nilai ternormalisasi (−1)S × 1.bit signifikan × 2E−127 0, -0 1-254 ∞ Persamaan bukan bilangan (NAN=not-anumber) Contoh Bilangan Float 32-bit Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) I Nyatakan nilai bilangan dari: Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi I Nyatakan bilangan (3.5)10 dalam bentuk IEEE single precision BCD (Binary-Coded Decimal) Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) I I Binary-coded-decimal mengkodekan bilangan desimal dalam bentuk biner Karena terdapat 10 nilai yang harus diwakili, diperlukan 4 bit per digit I I I Dari 0=0000 sampai 9=1001 Contoh: (01111000)BCD = (78)10 BCD digunakan di sistem komputer terdahulu dan kalkulator, keypad numerik I I Menyediakan format yang memadai saat informasi numerik perlu ditampilkan di display sederhana berorientasi digit Tapi, membutuhkan rangkaian yang kompleks untuk melakukan operasi aritmatika dan masalah efisiensi kode (6 buah kode tidak digunakan) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Operasi dengan BCD Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional I Operasi penjumlahan Z = X + Y I I Jika Z ≤ 9, maka S=Z dan Carry=0 Jika Z > 9, maka S=Z+6 dan Carry=1 Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Rangkaian Penjumlah BCD 1 Digit Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Implementasi Rangkaian Penjumlah BCD 1 Digit Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Kode ASCII Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) I Kode yang sering digunakan untuk merepresentasikan informasi di komputer I I I Kode ASCII menggunakan pola 7-bit untuk merepresentasikan 128 simbol I I I I I American Standard Code for Information Interchange bilangan, huruf, tanda baca dan kontrol kode digit bilangan (0-9) karakter (a-z dan A-Z) tanda baca kode kontrol Kode ASCII ekstended 8-bit mempunyai tambahan simbol untuk 128 karakter grafik (local glyph) I http://en.wikipedia.org/wiki/Extended_ASCII Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi Kode ASCII Representasi Bilangan dan Operasi Aritmatika @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi I Lihat: http://en.wikipedia.org/wiki/ASCII I Sumber: http://en.wikipedia.org/wiki/File:ASCII_Code_Chart-Quick_ref_card.png Representasi Bilangan dan Operasi Aritmatika Lisensi Creative Common Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) I Anda bebas: I I I untuk Membagikan — untuk menyalin, mendistribusikan, dan menyebarkan karya, dan untuk Remix — untuk mengadaptasikan karya Di bawah persyaratan berikut: I Atribusi — Anda harus memberikan atribusi karya sesuai dengan cara-cara yang diminta oleh pembuat karya tersebut atau pihak yang mengeluarkan lisensi I Cantumkan sumber asal file ini, yaitu http://didik.blog.undip.ac.id/2012/02/24/ kuliah-sistem-digital-tsk-205-2011/ I I Pembagian Serupa — Jika Anda mengubah, menambah, atau membuat karya lain menggunakan karya ini, Anda hanya boleh menyebarkan karya tersebut hanya dengan lisensi yang sama, serupa, atau kompatibel. Lihat: Creative Commons Attribution-ShareAlike 3.0 Unported License @2012,Eko Didik Widianto ([email protected]) Representasi Posisional Bilangan Signed (Bertanda) Operasi Penjumlahan dan Pengurangan Bilangan Fixed-Point dan Floating-Point Representasi Lainnya Lisensi