hosting indonesia

Floating Point Representation dan Floating Point Arithmetic



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).

• 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.

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  

Subscribe to receive free email updates:

0 Response to "Floating Point Representation dan Floating Point Arithmetic"