Fixed Point dan Floating Point pada ALU
1. Fixed Point
-
Radiks point/binary
point tetap dan diasumsikan akan berada di sebelah kanan dari digit yang paling
kanan.
-
Titik radiks =
memisahkan bilangan bulat dan pecahan.
-
Penggunaan titik
radiks berkaitan dengan jajaran bilangan yang dapat ditampung oleh computer.
Representasi Fixed Point
Representasi Sign-Magnitude/Nilai
tanda
·
Untuk merepresentasikan bilangan integer
negatif dan positif. Dengan menggunakan MSB sebagai bit tanda ®0 =
positif, 1 = negatif
·
Contoh :Sign-Magnitude +9 dalam 8 bit
= 00001001
Sign-Magnitude
–4 dalam 4 bit = 1100
·
Magnitude dari bilangan positif dan
negatif sama yang membedakan hanya MSB saja pada sign bitnya
Representasi
Komplemen-1
Untuk
mendapat komplemen-1 maka bilangan 0 menjadi 1 dan 1 menjadi 0.
Contoh
:
Representasi kompl-1: Dalam 8 bit
+12 =
00001100
+42= 00101010
-12 = 11110011
- 42= 11010101
Representasi Komplemen-2
Langkah-langkah Pengubahan bilangan desimal bertanda ke bilangan komplemen
(8-bit)
·
Tentukan bit tanda/MSB ® 0 =
positif, 1 = negatif.
·
Ubah desimal ke biner (7-bit)
·
Ubah ke kompl-1 (setiap 0 diubah ke 1
dan
·
setiap 1 diubah ke 0)
·
Ubah ke komplemen-2 (tambahkan +1
ke komplemen-1 untuk mendapat bil. komplemen-2)
·
Gabung menjadi satu yaitu MSB sebagai
tanda bit dan 7-bit sebagai besarannya
Langkah-langkah
Pengubahan bil. kompl-2 (8-bit) ke bil. Desimal bertanda :
·
Tentukan bit tanda/MSB
·
Ubah 7-bit kompl-2 tersebut ke
kompl-1
·
Ditambah +1 ke kompl-1
·
Ubah biner ke decimal
2. Floating
Point
Pengertian Floating
Point
Floating point adalah sebuah bilangan yang digunakan untuk
menggambarkan sebuah nilai yang sangat besar atau sangat kecil. Bilangan
tersebut dapat diwujudkan dalam notasi ilmiah, yaitu berupa angka pecahan
desimal dikalikan dengan angka 10 pangkat bilangan tertentu.
Bagian – Bagian Floating Point
·
Mantisa adalah bagian yang berfungsi menentukan
digit dalam angka tersebut.
·
Eksponen berfungsi untuk menentukan nilai berapa besar pangkat pada
bagian mantisa tersebut (jarak dari titik posisi desimal) eksponen
menentukan nilai berapa besar pangkat pada bagian mantisa tersebut (jarak dari
titik posisi desimal).
Persamaan
pada Floating Point
N = m × Re
Dimana:
m
merupakan bagian bilangan pecahan yang
biasa disebut significand
atau mantissa
e adalah
bagian bilangan bulat yang biasa disebut exponent
R merupakan basis dari suatu sistem bilangan
Bentuk Bilangan Floating Point
Bilangan Floating Point memiliki bentuk umum
: + m*be
dimana m(disebut juga dengan mantissa), mewakili
bilangan pecahan dan umumnya dikonversi ke bilangan binernya, mewakili
bilangan exponentnya, sedangkan b mewakili radix (basis)
dari exponent.
Aritmetika Floating
Point Penjumlahan / Pengurangan
Langkah - langkah yang dilakukan untuk menambah/mengurangkan
dua bilangan floating point
1. Bandingkan kedua bilangan,
dan ubah ke bentuk yang sesuai pada bilangan dengan nilai exponensial lebih
kecil
2.
Lakukan operasi
penjumlahan / pengurangan
3.
Lakukan normalisasi
dengan ’menggeser’ nilai mantissa dan mengatur nilai
exponensialnya
Contoh : Jumlahkan dua
bilangan floating point 1,1100 * 24 dan 1,1000
* 22
v Sesuaikan : 1,1000 * 22 diubah
menjadi 0,0110 * 24
v Jumlahkan : hasil penjumlahan 10,0010 *
24
v Normalisasi : hasil setelah dinormalisasi
adalah 0,1000 * 26 ( dianggap bit yang diijinkan setelah koma
adalah 4)
Aritmetika Floating
Point Perkalian
Perkalian dari dua bilangan floating point dengan
bentuk X = mx * 2a dan Y =
mx * 2b setara dengan X * Y = (mx *
my) * 2a+b
Algoritma umum untuk
perkalian dari bilangan floating point terdiri dari tiga
langkah:
1.
Hitung hasil
exponensial dengan menjumlahkan nilai exponent dari kedua bilangan
2.
Kalikan kedua
bilangan mantissa
Contoh : Perkalian
antara dua bilangan floating point X = 1,000 * 22 dan Y =
1,010 *21
v Tambahkan bilangan exponennya : 2 + (1) = 3
v Kalikan mantissa: 1,0000 * 1,010
= 1,010000
v Hasil perkaliannya adalah 1,0100 * 23
Aritmetika Floating
Point Pembagian
Pembagian dari dua bilangan floating point dengan
bentuk X = mx * 2a dan Y =
mx * 2b setara dengan X / Y = (mx /
my) * 2ab
1.
Algoritma umum untuk
pembagian dari bilangan floating point terdiri dari tiga
langkah :
2.
Hitung hasil
exponensial dengan mengurangkan nilai exponent dari kedua bilangan
3.
Bagi kedua
bilangan mantissa
4.
Normalisasi hasil
akhir
Contoh : Pembagian
antara dua bilangan floating point X = 1,0000 * 22 dan
Y = 1,0100 * 21
Ø Kurangkan bilangan exponennya : 2 – (1) = 1
Ø Hasilpembagiannya adalah 0,1101 * 21
Representasi
Bilangan Floating Point
Utk
merepresentasikan floating point diperlukan :
· lokasi
atau register penyimpanan computer dgn ukuran memadai utk menyimpan semua digit
signifikan dari bilangan tersebut
· ruang
penyimpanan tambahan utk menyimpan posisi ppoint tersebut, ruang tambahan ini
biasanya berada di dalam lokasi yg sama atau terpisah.
Perbedaan Fixed Point dan Floating Point
Fixed Point Numbers
|
Floating Point Numbers
|
1.
Untuk representasikan bilangan fixed point diperlukan :
a.
lokasi atau register penyimpanan komputer yang ukurannya memadai untuk
menyimpan seluruh digit bilangan.
b.
kemungkinan untuk menjaga track tempat beradanya point tersebut.
|
1.
Untuk merepresentasikan bilangan floating point diperlukan :
a.
lokasi atau register penyimpanan komputer yang ukurannya memadai untuk
menyimpan semua digit signifikan dari bilangan tersebut.
b.
ruang penyimpanan tambahan untuk menyimpan posisi point tersebut, ruang
tambahan ini biasanya berada dalam satu lokasi yang sama atau terpisah.
|
2.
Komputer dapat menjalankan aritmatika fixed point lebih cepat.
|
2.
Komputer lebih lambat menjalankan aritmatika floating point.
|
3.
Representasi fixed point membatasi jangkauan dan skala bilangan yang sedang
direpresentasikan.
|
3.
Representasi floating point memberikan fleksibilitas yang lebih besar dalam
jangkauan dan skalanya, hal ini akan mengurangi kecepatan.
|
Komentar
Posting Komentar