1. 程式人生 > >深入理解計算機系統——第二章

深入理解計算機系統——第二章

浮點數

2.4.2IEEE浮點表示

(1)什麼是規格化的值?

當exp的位模式既不全為0,也不全為1,這種情況下,階碼欄位被解釋為以偏置形式表示的有符號整數,也就是說,階碼的值是E=e-Bias,其中e是無符號數,其位表示為,而Bias就是一個等於2k-1 - 1的
偏置值。

(2)什麼是非規格化的值?

當階碼域全為0時,所表示的就是非規格化的形式。在這種情況下,階碼值是E=1-Bias,而尾數的值就是M=f,也就是小數字段的值,不包括隱含的開頭的1

(2)什麼是特殊值?

當階碼域全為1時,小數域全為0時,得到的值為無窮,當s=0時+無窮,或者當s=1時-無窮,當小數域為非零時,結果值為NaN,就是“不是一個數”的縮寫。

練習把整數轉化為浮點數對理解浮點很有好處,下面給出一些具體例子。

這裡寫圖片描述
這裡寫圖片描述

2.4.4舍入

C語言的舍入方法中,若整數處於步長的前半,則向下舍入,否則向上舍入。而對於剛好處於中間的數,這種與前後的可取的數距離相等,則採用向偶數舍入的原則。即取表示成float形式後,最後一位為偶數(0)的數。

可參考其他部落格: