Representasi Bilangan dan Operasi Aritmatika Eko Didik Widianto (
[email protected]) Sistem Komputer - Universitas Diponegoro
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 1 / 43
Review Kuliah • 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 • Selanjutnya akan dibahas penggunaan variabel ini untuk merepresentasikan bilangan. Representasi bilangan meliputi unsigned dan signed, fixed-point dan floating-point. Kemudian dibahas tentang operasi aritmetika baik penjumlahan maupun pengurangan ◦ Representasi bilangan di sistem digital/komputer ◦ Rangkaian untuk melakukan operasi aritmatika penjumlahan dan pengurangan
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 2 / 43
Bahasan Representasi Posisional Bilangan Desimal Bilangan Biner Bilangan Desimal Konversi Bilangan Bilangan Signed Bilangan Signed Sign-Magnitude 1’s Complement 2’s Complement Operasi Aritmetika Operasi Bilangan Unsigned Operasi Bilangan Signed Unit Penjumlah dan Pengurang Overflow Aritmatika Fixed- dan Floating-Point Bilangan Fixed-Point Bilangan Floating-Point Representasi Lainnya BCD Kode ASCII
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 3 / 43
Representasi Posisional
• Bilangan Desimal • Bilangan Biner • Bilangan Desimal • Konversi Bilangan Bilangan Signed Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
Representasi Posisional
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 4 / 43
Bilangan Integer dan Desimal Representasi Posisional
• Bilangan Desimal • Bilangan Biner • Bilangan Desimal • Konversi Bilangan Bilangan Signed
• Dua tipe bilangan 1. Tak bertanda (unsigned): bilangan yang hanya memuat nilai positif 2. Bertanda (signed): bilangan yang memuat nilai positif dan negatif
Operasi Aritmetika Fixed- dan Floating-Point
• Sistem desimal, unsigned integer
Representasi Lainnya
◦ 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
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 5 / 43
Bilangan Biner Representasi Posisional
• Bilangan Desimal • Bilangan Biner • Bilangan Desimal • Konversi Bilangan Bilangan Signed
• Dalam sistem digital, digunakan bilangan biner atau base-2 ◦ Tiap digit (bit, binary digit) mempunyai nilai 0 atau 1 ◦ Sebuah variabel mewakili satu bit
Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
• Representasi posisional bilangan biner n-digit: B = bn−1 bn−2 · · · b1 b0 • Bilangan B tersebut mewakili nilai integer V(B) V (B) =
bn−1 ×2n−1 +bn−2 ×2n−2 +· · ·+b1 ×21 +b0 ×20
=
n−1 P
bi × 2i
i=0
◦ Misalnya: (1101)2 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = (13)10 • Bilangan n-bit mewakili bilangan integer positif dari 0 . . . 2n − 1
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 6 / 43
Bilangan Oktal dan Hexadesimal Representasi Posisional
• Bilangan Desimal • Bilangan Biner • Bilangan Desimal • Konversi Bilangan
• Representasi posisional dapat digunakan untuk sebarang radix ◦ Untuk radix r, maka untuk bilangan
Bilangan Signed Operasi Aritmetika
K = kn−1 kn−2 · · · k1 k0 mempunyai nilai integer
n−1 P
ki × ri
i=0
Fixed- dan Floating-Point Representasi Lainnya
• Bilangan dengan radix 8 disebut oktal ◦ Digit bernilai dari 0 . . . 7 • Bilangan dengan radix 16 disebut hexadesimal (hex) ◦ Digit bernilai dari 0 . . . 9 dan A . . . F
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 7 / 43
Bilangan di Beberapa Representasi Representasi Posisional
• Bilangan Desimal • Bilangan Biner • Bilangan Desimal • Konversi Bilangan Bilangan Signed Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
Desimal 0 1 2 3 4 5 6 7
Biner 0000 0001 0010 0011 0100 0101 0110 0111
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
Oktal 0 1 2 3 4 5 6 7
Hexa 0 1 2 3 4 5 6 7
Desimal 8 9 10 11 12 13 14 15
Biner 1000 1001 1010 1011 1100 1101 1110 1111
Oktal 10 11 12 13 14 15 16 17
Hexa 8 9 A B C D E F
TSK205 Sistem Digital - Siskom Undip – 8 / 43
Konversi Bilangan Representasi Posisional
• Bilangan Desimal • Bilangan Biner • Bilangan Desimal • Konversi Bilangan
•
Konversi bilangan biner ke desimal atau sebaliknya
◦
Biner ke desimal
Bilangan Signed
V (B)
Operasi Aritmetika
=
bn−1 × 2n−1 + bn−2 × 2n−2 + · · · + b1 × 21 + b0 × 20
=
n−1 X
Fixed- dan Floating-Point Representasi Lainnya
bi × 2i
i=0
Misalnya:
(11101011)2
◦
=
27 + 26 + 25 + 23 + 21 + 20
=
(235)10 = 235
Desimal ke biner
• 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 @2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 9 / 43
Contoh Desimal ke Biner Representasi Posisional
• Bilangan Desimal • Bilangan Biner • Bilangan Desimal • Konversi Bilangan Bilangan Signed Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 10 / 43
Konversi Biner-Oktal-Hexadesimal Representasi Posisional
• Bilangan Desimal • Bilangan Biner • Bilangan Desimal • Konversi Bilangan
• Biner - Oktal ◦ 1 digit oktal merupakan grup 3 digit biner
Bilangan Signed Operasi Aritmetika
◦ Konversi biner - oktal:
Biner
001
000
110
100
Oktal
1
0
6
4
Oktal
2
3
6
7
Biner
010
011
110
111
Fixed- dan Floating-Point Representasi Lainnya
◦ Konversi oktal - biner: • Biner - Hexadesimal
◦ 1 digit hexa merupakan grup 4 digit biner ◦ Konversi biner - hexa: ◦ Konversi hexa - biner:
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
Biner
1111
0000
0110
0100
Hexa
F
0
6
4
Hexa
2
A
C
7
Biner
0010
1010
1100
0111
TSK205 Sistem Digital - Siskom Undip – 11 / 43
Representasi Posisional Bilangan Signed
• Bilangan Signed • Sign-Magnitude • 1’s Complement • 2’s Complement Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
Bilangan Signed (Bertanda)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 12 / 43
Bilangan Signed Representasi Posisional Bilangan Signed
• Bilangan Signed • Sign-Magnitude • 1’s Complement • 2’s Complement Operasi Aritmetika
• Dalam sistem biner, representasi bilangan signed berisi: tanda (sign) dan besar nilai (magnitude) ◦ Tanda diyatakan oleh bit paling kiri (0: bilangan positif, 1: bilangan negatif)
Fixed- dan Floating-Point Representasi Lainnya
• Bilangan n-bit: 1 bit paling kiri menyatakan tanda, n-1 bit berikutnya menunjukan besar nilai bilangan
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 13 / 43
Bilangan Sign-Magnitude Representasi Posisional Bilangan Signed
• Bilangan Signed • Sign-Magnitude • 1’s Complement • 2’s Complement Operasi Aritmetika
• Di bilangan signed, terdapat 3 format yang umum digunakan untuk representasi bilangan negatif
1. Sign-Magnitude 2. 1’s Complement
Fixed- dan Floating-Point Representasi Lainnya
3. 2’s Complement
• 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: 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)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 14 / 43
Bilangan 1’s Complement Representasi Posisional Bilangan Signed
• Bilangan Signed • Sign-Magnitude • 1’s Complement • 2’s Complement Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
• 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 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)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 15 / 43
Bilangan 2’s Complement Representasi Posisional Bilangan Signed
• Bilangan Signed • Sign-Magnitude • 1’s Complement • 2’s Complement Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
• 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 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
• Terlihat bahwa 2’s complement dapat dibentuk dengan mengkomplemenkan tiap bit bilangan dan menambahkan 1 ◦ (2’s complement) = (1’s complement) + 1 • Bilangan signed 2’s complement ini yang sering digunakan dalam sistem komputer @2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 16 / 43
Aturan Mencari 2’s Complement Representasi Posisional Bilangan Signed
• Bilangan Signed • Sign-Magnitude • 1’s Complement • 2’s Complement Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
• 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 ◦ 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)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 17 / 43
Bilangan Integer Bertanda (Signed Integer) 4-bit Representasi Posisional
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
Bilangan Signed
• Bilangan Signed • Sign-Magnitude • 1’s Complement • 2’s Complement Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 18 / 43
Jangkauan Bilangan Signed Representasi Posisional
#Bit
Nama
Jangkauan
Bilangan Signed
• Bilangan Signed • Sign-Magnitude • 1’s Complement • 2’s Complement
4
nible, semioctet
s/d 23 − 1
unsigned: 0 s/d 24 − 1 8
byte, octet
Operasi Aritmetika
signed: − 27 s/d 27 − 1
unsigned: 0 s/d 28 − 1
Fixed- dan Floating-Point Representasi Lainnya
signed: − 2
3
16
half-word, word, short
signed: − 215 s/d 215 − 1
unsigned: 0 s/d 216 − 1 32
word, long, doubleword, int
signed: − 231 s/d 231 − 1
unsigned: 0 s/d 232 − 1 64
doubleword, int64
signed: − 2
63
s/d 263 − 1
unsigned: 0 s/d 264 − 1 n
Integer n-bit (bentuk umum)
signed: − 2
n−1
s/d 2n−1 − 1
unsigned: 0 s/d 2n − 1
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 19 / 43
Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika Fixed- dan Floating-Point Representasi Lainnya
Operasi Penjumlahan dan Pengurangan
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 20 / 43
Operasi Bilangan Unsigned Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan
• Operasi penjumlahan 2 bilangan 1-bit memberikan 4 kombinasi yang mungkin • Diimplementasikan dengan HA (Half-Adder )
Pengurang
• Overflow Aritmatika Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 21 / 43
Rangkaian Full-Adder (FA) Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 22 / 43
Rangkaian Full-Adder (Dekomposisi) Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 23 / 43
Operasi Penjumlahan Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika
• Operasi penjumlahan 2 bilangan dengan n-bit (n>1) ◦ Tiap pasang bit ditambahkan ◦ Untuk tiap posisi bit i, operasi penjumlahannya mungkin melibatkan sebuah carry-in dari bit posisi (i-1)
Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 24 / 43
Ripple Carry Adder (RCA) Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika Fixed- dan Floating-Point
• 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
Representasi Lainnya
◦ Konfigurasi ini disebut sebagai penjumlah ripple-carry ◦ Sinyal carry ’ripple’ dari FA satu ke FA berikutnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 25 / 43
Kekurangan Ripple Carry Adder Representasi Posisional Bilangan Signed
•
Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan
Tiap FA mempunyai delay tertentu sebelum keluaran si dan ci+1 valid
◦ •
disebut delay propagasi FA dari input ke output
Misalnya, delay propagasi ∆t
Pengurang
• Overflow Aritmatika
◦
Carry dari FA pertama, c1 , akan sampai di FA kedua dalam waktu ∆t setelah input x0 dan y0
◦
Carry dari FA kedua, c2 , akan sampai di FA ketiga dalam waktu ∆t setelah input x1 , y1 dan c1 atau total 2∆t
◦
Dan seterusnya. Sinyal cn−1 valid setelah (n − 1) ∆t, dan jumlah total akan tersedia setelah delay (n) ∆t
Fixed- dan Floating-Point Representasi Lainnya
•
Delay total tersebut semakin besar seiring semakin banyak jumlah bit bilangan yang harus ditambahkan
◦
Penjumlahan bilangan n-bit akan membutuhkan waktu (n) ∆t dari bit-bit masukan tersedia sampai keluaran valid
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 26 / 43
Operasi Bilangan Signed Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika
• Sign-magnitude ◦ Misalnya: operasi 5-2=? ekivalen dengan 5+(-2)=3. Bagaimana implementasinya, apakah 0101+1010?
◦ Perlu rangkaian logika untuk membandingkan dan mengurangkan bilangan
Fixed- dan Floating-Point Representasi Lainnya
• 1’s complement ◦ 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 ◦ penjumlahan selalu benar
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 27 / 43
Operasi 2’s Complement Representasi Posisional Bilangan Signed
• Penjumlahan
Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 28 / 43
Operasi 2’s Complement Representasi Posisional Bilangan Signed
• Pengurangan
Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 29 / 43
Unit Penjumlah dan Pengurang Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika
• Operasi pengurangan dapat direalisasikan sebagai operasi penjumlahan dengan menggunakan 2’s complement di pengurangnya (baik positif maupun negatif) ◦ Ini memungkinkan menggunakan rangkaian adder untuk melakukan penjumlahan dan pengurangan sekaligus
Fixed- dan Floating-Point Representasi Lainnya
• Note: (2’s complement) = (1’s complement) + 1 • 1’s complement dapat diimplementasikan dengan menggunakan XOR ◦ x ⊕ 1 = x dan x ⊕ 0 = x ◦ Jika operasi pengurangan dilakukan, 1’s complementkan bilangan kedua dengan meng-XOR-kan semua bit dengan 1
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 30 / 43
Unit Penjumlah dan Pengurang Representasi Posisional Bilangan Signed
• Menggunakan 2’s complement di bilangan pengurang
Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika Fixed- dan Floating-Point Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 31 / 43
Overflow Aritmatika Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow Aritmatika
• 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
Fixed- dan Floating-Point Representasi Lainnya
◦ 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
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 32 / 43
Overflow Aritmatika Representasi Posisional Bilangan Signed Operasi Aritmetika • Operasi Bilangan Unsigned
• Operasi Bilangan Signed • Unit Penjumlah dan Pengurang
• Overflow dapat dideteksi dengan: ◦ overflow = c3 ⊕ c4 • Untuk bilangan n-bit
• Overflow Aritmatika Fixed- dan Floating-Point
◦ overflow = cn−1 ⊕ cn
Representasi Lainnya
• Bagaimana rangkaian unit penjumlah/pengurang dengan overflow detection?
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 33 / 43
Representasi Posisional Bilangan Signed Operasi Aritmetika Fixed- dan Floating-Point
• Bilangan Fixed-Point • Bilangan Floating-Point Representasi Lainnya
Bilangan Fixed-Point dan Floating-Point
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 34 / 43
Bilangan Fixed-Point Representasi Posisional Bilangan Signed
•
Operasi Aritmetika
◦ ◦
Fixed- dan Floating-Point
• Bilangan Fixed-Point • Bilangan Floating-Point Representasi Lainnya
Bilangan fixed-point terdiri atas bagian integer (digit signifikan) dan pecahan
•
Digunakan di mesin yang tidak mempunyai FPU (floating-point unit)
Notasi bilangan (n+k) bit: Bn, k = bn−1 bn−2 · · · b1 b0 , b−1 b−2 · · · b−k
◦
•
memungkinkan bilangan pecahan (mis: 75,625)
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
Nilai bilangan: V(Bn, k) =
n−1 P
bi × 2i
i=−k
•
Contoh:
◦ B3, 4 = (0101, 1010)2 = 22 + 1 + 2−1 + 2−3 = 5, 62510 = 5, A16 2 −1 −3 = −5, 62510 = ◦ B3, 4 = (1011, 1010)2 = − 2 + 1 + 2 + 2 B, A16
•
Rangkaian logika untuk fixed-point sama dengan bilangan integer
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 35 / 43
Bilangan Floating-Point Representasi Posisional Bilangan Signed Operasi Aritmetika Fixed- dan Floating-Point
• Bilangan Fixed-Point • Bilangan Floating-Point
• Bilangan fixed-point mempunyai range yang dibatasi oleh digit signifikan yang digunakan untuk merepresentasikan bilangan
• Dalam beberapa aplikasi, diperlukan bilangan yang mungkin sangat besar atau sangat kecil
Representasi Lainnya
◦ Memerlukan representasi floating-point ◦ Bilangan direpresentasikan dengan mantissa yang berisi bit signifikan dan eksponen dari radix R ◦ Format: mantisa × Reksponen ◦ Bilangan tersebut seringkali dinormalisasi terhadap radixnya. Misalnya untuk radix 10: 1, 5 × 1044 atau 1, 25 × 10−36
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 36 / 43
Format IEEE Presisi Tunggal Representasi Posisional Bilangan Signed Operasi Aritmetika Fixed- dan Floating-Point
• Bilangan Fixed-Point • Bilangan Floating-Point Representasi Lainnya
•
IEEE mendefinisikan format 32-bit (single precision) untuk nilai floating-point (IEEE 754-1985)
◦ ◦ ◦ • • •
1-bit sign (S) 8-bit eksponen (E) 23-bit mantissa (M)
Dalam programming dikenal dengan tipe data float (C, C++, Java) dan single (Pascal, VB, MATLAB) Nilai bilangan: V(B) = (−1)S
1+
23 P
i=1
b−i × 2−i
× 2E−127
Baca: http://en.wikipedia.org/wiki/Single_precision
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 37 / 43
Bilangan Float 32-bit Representasi Posisional Bilangan Signed
•
Representasi bilangan float
Operasi Aritmetika
◦ ◦
Fixed- dan Floating-Point
• Bilangan Fixed-Point • Bilangan Floating-Point
B = (3E100000)16 B=(+)(1.01)2 × 2124−127 = +(0.00101)2 = 0.15625
Representasi Lainnya
•
Nilai eksponen:
◦ Emin = 1, Emax = 254, menghasilkan eksponen (bias=127): E = 1 − 127 = −126 dan E = 254 − 127 = 127 Eksponen
Signifikan=0
signifikan6=0
Persamaan
subnormal
(−1)S × 0.bit signif ikan × 2−126
(E) 0
0, -0
1-254 255
Nilai ternormalisasi
∞
(−1)S × 1.bit signif ikan × 2E−127
bukan bilangan (NAN=not-a-number)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 38 / 43
Contoh Bilangan Float 32-bit Representasi Posisional Bilangan Signed
• Nyatakan nilai bilangan dari:
Operasi Aritmetika Fixed- dan Floating-Point
• Bilangan Fixed-Point • Bilangan Floating-Point Representasi Lainnya
• Nyatakan bilangan (3.5)10 dalam bentuk IEEE single precision
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 39 / 43
Representasi Posisional Bilangan Signed Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
• BCD • Kode ASCII
Representasi Lainnya
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 40 / 43
BCD Representasi Posisional Bilangan Signed Operasi Aritmetika
• Binary-coded-decimal mengkodekan bilangan desimal dalam bentuk biner • Karena terdapat 10 nilai yang harus diwakili, diperlukan 4 bit per digit
Fixed- dan Floating-Point Representasi Lainnya
• BCD • Kode ASCII
◦ Dari 0=0000 sampai 9=1001 ◦ Contoh: (01111000)BCD = (78)10 • BCD digunakan di sistem komputer terdahulu dan kalkulator, keypad numerik
◦ 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)
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 41 / 43
Kode ASCII Representasi Posisional Bilangan Signed Operasi Aritmetika
• Kode yang sering digunakan untuk merepresentasikan informasi di komputer
Fixed- dan Floating-Point Representasi Lainnya
◦ American Standard Code for Information Interchange
• BCD • Kode ASCII
◦ bilangan, huruf, tanda baca dan kontrol kode • Kode ASCII menggunakan pola 7-bit untuk merepresentasikan 128 simbol ◦ 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) ◦ http://en.wikipedia.org/wiki/Extended_ASCII
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 42 / 43
Kode ASCII Representasi Posisional Bilangan Signed Operasi Aritmetika Fixed- dan Floating-Point Representasi Lainnya
• BCD • Kode ASCII
• •
Lihat: http://en.wikipedia.org/wiki/ASCII Sumber: http://en.wikipedia.org/wiki/File:ASCII_Code_Chart-Quick_ref_card.png
@2011 eko didik widianto (http://didik.blog.undip.ac.id)
TSK205 Sistem Digital - Siskom Undip – 43 / 43