Pembagian Komplemen-2
Floating Point
Representasi & Operasi Aritmatika
Notasi fixed point (radix point) dimungkinkan untuk merepresentasikan bilangan-bilangan positif dan negatif dengan komponen pecahan
Pendekatan ini memiliki keterbatasan, bilangan yang sangat besar dan pecahan yang sangat kecil tidak dapat direpresentasikan. Bagian quotient dalam pembagian dua bilangan besar dapat hilang
Dalam desimal, 123.000.000.000.000 dapat direpresentasikan sebagai 1,23 * 1014
Demikian juga 0,0000000000000123 dapat direpresentasikan sebagai 1,23 * 10-14
Pendekatan yang sama dapat dilakukan pada bilangan biner + S * B +E
dengan
¢S : significant
¢B : base
¢E : exponent
Tanda bilangan 0 : positif, 1 : negatif Nilai exponent 8-bit biased : nilai field dikurangi bisa (128) untuk memperoleh nilai exponent sebenarnya Significand/Mantissa dengan normalisasi (+ 0,1bbb..b * 2 +E), bit terkiri selalu “1”; sehingga tidak perlu disimpan (ada secara implisit) 23-bit untuk menyimpan 24-bit
Range bilangan:
Negatif : - (1 – 2-24) * 2127 dan - 0,5 * 2-128
Positif : 0,5 * 2-128 dan (1 – 2-24) * 2127
Ouf of range:
Negative overflow : < - (1 – 2-24) * 2127
Negative underflow : < - 0,5 * 2-128
Zero
Positive underflow : > 0,5 * 2-128
Positive overflow : > (1 – 2-24) * 2127
Terdapat trade off antara range dan ketelitian :
jumlah bit exponent ditambah akan meningkatkan range tapi menurunkan ketelitian Untuk meningkatkan keduanya, jumlah bit exponent dan significand ditambah
4 Fase dasar algoritma penambahan dan pengurangan bilangan floating point :
- Periksa apakan salah satunya bilangan nol
- Align significand (samakan exponent)
- Tambahkan atau kurangkan significand
- Normalisasi hasil
Penambahan & Pengurangan FP
Perkalian & pembagian floating point relatif lebih sederhana dibandingkan operasi penambahan dan pengurangan
Perlu diperhatikan :
- yang tersimpan dlm format floating point adalah biased exponent, sehingga perlu dilakukan pengurangan atau penambahan bias
- Perlu pengecekan adanya overflow dan underflow