IEEE 754
আইইইই ৭৫৪
Floating-point-এর জন্য universal standard (১৯৮৫) — sign, biased exponent, আর implicit-leading-1 mantissa দিয়ে সংখ্যা এনকোড করে। আজ প্রায় প্রতিটা CPU/GPU এটা মেনে চলে।
also: IEEE-754, IEEE754, IEEE Floating Point
| Format | মোট bit | Sign | Exponent | Mantissa | Bias |
|---|---|---|---|---|---|
single (float32) | 32 | 1 | 8 | 23 | 127 |
double (float64) | 64 | 1 | 11 | 52 | 1023 |
Exponent biased কেন — [[twos-complement]] নয়, কারণ biased encoding দুইটা ধনাত্মক float-কে raw bit pattern হিসেবে সাধারণ unsigned integer তুলনা করলেই সঠিক ক্রম দেয় — hardware-এ আলাদা কোনো floating-point-নির্দিষ্ট comparator লাগে না।
Implicit leading bit — normalized সংখ্যার প্রথম significand
বিট সবসময় 1 (নাহলে normalized-ই নয়), তাই সেটা store না করে
বিনামূল্যে একটা বাড়তি বিট precision পাওয়া যায় — 23 stored
বিট আসলে 24-বিট precision দেয়।
0.1f-কে হাতে এনকোড করলে: sign 0, exponent 01111011 (123,
unbiased -4), mantissa 10011001100110011001101 — hex
0x3DCCCCCD। আসল stored মান
0.100000001490116119384765625 — 0.1 নয়, কারণ 1/10-এর
বাইনারি expansion অসীম।
Special exponent (সব 0 বা সব 1) [[floating-point]]-এর
স্বাভাবিক নিয়ম ভাঙে — subnormal, ±0, ±Infinity, [[nan]] তৈরি করে।
William Kahan-কে এই standard ডিজাইনের জন্য ১৯৮৯-এ Turing Award দেওয়া হয়েছিল — খুব কম মানুষ একটা numerical format-এর জন্য এই সম্মান পেয়েছেন।