Representasi Bilangan dan Operasi Aritmatika

advertisement
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
Download