9.5 電腦怎麼儲存浮點數
上冊 2.2 說過,記憶體裡只有 0 和 1。整數怎麼存你已經知道(二進位),那 3.75 這種小數呢?
答案的靈感正是 9.2 的科學記號——只是把底數從 10 換成 2:每個浮點數都被寫成 \pm 1.\text{xxx} \times 2^{\text{e}} 的形式(1.\text{xxx} 是二進位的小數)。以 double 的 64 個位元為例,三段各司其職:
| 段落 | 位元數 | 存什麼 |
|---|---|---|
| 正負號(sign) | 1 | 0 是正、1 是負 |
| 指數(exponent) | 11 | 2^{\text{e}} 的那個 \text{e}(小數點「浮」到哪) |
| 尾數(fraction) | 52 | 1.\text{xxx} 小數點後的那串 \text{xxx} |