Floating Point Representation dan
Floating Point Arithmetic
- Floating Point adalah tipe data yang dapat menyimpan angka dengan pecahan. VB membedakan menjadi dua jenis, yaitu:
• Tipe data single.
Tipe data ini, dapat menampung angka negatif dengan
jangkauan -3.402823E38 hingga -1.401298E-45, dan angka positif dengan
jangkauan 1.401298E-45 hingga 3.402823E38. Huruf E menunjukkan 10
pangkat, misalnya pada -3.402823E38 berarti -3.402823 x 1038. Tipe data ini
membutuhkan 4 byte memori, dan merupakan tipe floating point yang paling
sederhana (dan paling tidak presisi).
jangkauan -3.402823E38 hingga -1.401298E-45, dan angka positif dengan
jangkauan 1.401298E-45 hingga 3.402823E38. Huruf E menunjukkan 10
pangkat, misalnya pada -3.402823E38 berarti -3.402823 x 1038. Tipe data ini
membutuhkan 4 byte memori, dan merupakan tipe floating point yang paling
sederhana (dan paling tidak presisi).
• Tipe data double.
Daya tampung tipe data double adalah -
1.79769313486232E308 hingga -4.94065645841247E-324 untuk bilangan negatif, dan 4.9406564581247E-324 sampai 1.79769313486232E308 untuk bilangan positif. Kenyataan yang sebenarnya, operasi terhadap tipe data single tidak secepat tipe data double ini.
1.79769313486232E308 hingga -4.94065645841247E-324 untuk bilangan negatif, dan 4.9406564581247E-324 sampai 1.79769313486232E308 untuk bilangan positif. Kenyataan yang sebenarnya, operasi terhadap tipe data single tidak secepat tipe data double ini.
Representasi Floating
Point
Untuk menuliskan
bilangan floating point (bilangan
pecahan) dilakukan
dengan menuliskan dalam bentuk
exponensial.
Sehingga bilangan
tersebut memiliki bilangan
dasar,
bilangan pemangkat dan basis bilangan tersebut
Penulisan Notasi Ilmiah
Contoh ; pada bil.
Desimal
976.000.000.000.000
ditulis 9,76 x 1014
0,00000000000976
ditulis 9,76 x 10-12
• Representasi
:
±S
* B ±E
Tanda
: ( + atau – )
Signifikan (S) disebut
juga mantissa
Eksponen (E)
Base (B)
Ko-prosesor Aritmatika
mendukung tiga repr floating point :
• Short
(32 bit)/ presisi tunggal dengan bias 7Fh
• Long
(64 bit)/presisi ganda dengan bias 3FFh
Exponensial
Penulisan bilangan floating point dengan cara exponensial dapat menyebabkan
adanya kemungkinan sebuah bilangan ditulis dengan cara yang bermacam-macam
Standarisasi untuk penulisan bilangan
Format penulisan
menurut standar IEEE 754
·
Floating Point Arithmetic
5.1. Bentuk
Bilangan Floating Point
Bilangan
Floating Point memiliki bentuk umum : + m * b e , dimana m
(disebut juga
dengan mantissa), mewakili bilangan pecahan dan umumnya dikonversi
ke bilangan
binernya, e mewakili bilangan exponentnya,
sedangkan b mewakili
radix
(basis) dari exponent.
Contoh :
Pada gambar
diatas, menunjukkan tentang panjang bit pada bilangan floating point m
= 23 bit, e = 8
bit, dan S (bit sign) = 1. Jika nilai yang tersimpan di S adalah 0, maka
bilangan
tersebut adalah positif dan jika nilai yang tersimpan pada S adalah 1, maka
bilangan
tersebut adalah negatif.
Bilangan exponent
pada contoh diatas, hanya dapat digunakan pada bilangan positif 0
hingga 255.
Untuk dapat menggunakan bilangan exponent negatif dan positif, nilai
bulat yang
disebut dengan bias, dikurangkan dengan bilangan pada kolom exponent
dan menghasilkan
bilangan exponent akhir. Misalkan pada contoh diatas
menggunakan bias
= 128, maka bilangan exponent akhirnya memiliki range antara 128
(disimpan
sebagai 0 pada kolom exponent) hingga +127 (disimpan sebagai 255
pada kolom
exponent). Berdasarkan bentuk seperti ini, bilangan exponent +4 dapat
digunakan dengan
menyimpan 132 pada kolom exponent, sedangkan bilangan
exponent 12
dapat digunakan
dengan menyimpan 116 pada kolom exponent.
Anggap b = 2,
maka bilangan floating point seperti 1,75 dapat menggunakan salah
satu dari bentuk umum
seperti pada gambar berikut:
Aritmetika Floating
Point Penjumlahan / Pengurangan
Operasi
penjumlahan/pengurangan dua bilangan floating point diilustrasikan
dengan skema seperti
pada gambar berikut :
Perkalian
Perkalian dari
dua bilangan floating point dengan bentuk X = mx * 2 a dan Y
= mx * 2 b setara
dengan X * Y = (mx * my) * 2 a+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
3. Normalisasi hasil
akhir
Perkalian dari
dua bilangan floating point diilustrasikan menggunakan skema seperti
tampak pada gambar
berikut :
Pembagian
Pembagian dari
dua bilangan floating point dengan bentuk X = mx * 2 a dan
Y = mx * 2 b setara
dengan X / Y = (mx / my) * 2 ab
Algoritma umum
untuk pembagian dari bilangan floating point terdiri dari tiga
langkah :
1. Hitung hasil
exponensial dengan mengurangkan nilai exponent dari kedua
bilangan
2. Bagi kedua
bilangan mantissa
3. Normalisasi
hasil akhir
Contoh :
Pembagian antara dua bilangan floating point X = 1,0000 * 2 2
dan
Y =
1,0100
* 2 1
1. Kurangkan
bilangan exponennya : 2
– (1)
= 1
2. Bagi mantissa:
1,0000 / 1,0100
= 0,1101
Modul 5
D3 TKJ (Teknik
Komputer dan Jaringan)
Departemen
Pendidikan Nasional
5
Hasil
pembagiannya adalah 0,1101
* 2 1
Pembagian dari
dua bilangan floating point diilustrasikan menggunakan skema seperti
tampak pada gambar
berikut :
Floating Point
standard IEEE
IEEE membuat dua
bentuk bilangan floating point standard. Bentuk basic
dan bentuk extended.
Pada tiap bentuk tersebut, IEEE menentukan dua format, yaitu
singleprecision
dan double
precision format. Single precision format adalah model
32bit sedangkan double
precision format adalah 64bit. Pada single extended format
setidaknya
menggunakan 44 bit, sedangkan pada double extended format setidaknya
menggunakan 80
bit.
Pada single
precision format, mengijinkan penggunaan bit tersembunyi,
kolom
exponentnya adalah 8bit. Bentuk single precision ditunjukkan pada gambar
berikut.
Referensi :
1. Riyanto Sigit,
ST., MKom , Nur Rosyid Mubtada’i, SKom , Setiawardhana, ST,
Hero Yudo Martono, ST , ITS
http://kauni07.files.wordpress.com/2009/03/modul_5_-_floating_point.pdf
2. Dr. Wahyu Kusuma,
staffsite.gunadarma.ac.id
0 Response to "Floating Point Representation dan Floating Point Arithmetic"
Posting Komentar