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.
Untuk mempermudah operasi bilangan floating point dan menambah tingkat presisinya, maka bilangan tersebut dibuat dalam bentuk ternormalisasi (normalizedforms). Suatu bilangan floating point telah ternormalisasi jika most significant bit (MSB) dari mantissanya adalah 1. Karena itu, diantara ketiga bentuk diatas dari bilangan 1,75, maka bentuk yang telah ternormalisasi adalah bentuk yang paling atas,dan disarankan untuk digunakan.
Aritmetika Floating Point Penjumlahan / Pengurangan
Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilangan-bilangan tersebut memiliki bentuk exponensial yang berbeda. Unutk memecahkannya, maka sebelum ditambahkan bilangan exponensialnya harus disetarakan terlebih dahulu, atau bilangan dengan nilai exponent lebih kecil disamakan dulu ke bilangan exponent yang sama dengan bilangan lain.
Langkahlangkah 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 * 2 4 dan 1,1000 * 2 2
1. Sesuaikan : 1,1000 * 2 2 diubah menjadi 0,0110 * 2 4
2. Jumlahkan : hasil penjumlahan 10,0010 * 2 4
3. Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 2 6 ( dianggap bit yang diijinkan setelah koma adalah 4)
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
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
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.
IEEE single precision Format
Jika jumlah bit bilangan exponent adalah 8, maka nilainya memiliki 256 kombinasi, diantara angka- angka tersebut, dua kombinasi digunakan sebagai nilai khusus:
1. e = 0 bernilai nol (jika m = 0) dan nilai terdenormalisasi (jika m ≠ 0)
2. e = 255 bernilai + ∞ (jika m = 0) dan nilai tak terdefinisi (jika m ≠ 0)
IEEE Double Precision Format
Bentuk ini memiliki kolom exponent 11 bit dan kolom nilai mantissa sebesar 52 bit







0 komentar:
Posting Komentar