在浮點數中,為了在尾數中表示最多的有效數據位,同時使浮點數具有唯一的表示方式,浮點數的編碼應當採用一定的規範,規定尾數部分用純小數給出,而且尾數的絕對值應大於或等於1/R,並小於或等於1,即小數點後的第一位不為零。這種表示的規範稱為浮點數的規格化的表示方法。不符合這種規定的數據可通過修改階碼並同時移動尾數的方法使其滿足這種規範。
假設尾數是W,且基數為2,則當1/2<=|W|<1時,此浮點數為規格化數。
1
2
3
1
2
3
原碼的尾數規格化:小數的最高位必須是1
補碼的規格化形式:0.1*****.或者 1.0*****
特別規定:-1/2不是規格化的數,-1是規格化的數
進一步思考,若基數不是2,基數是4,也就意味着用2位二進制位表示一個數,1/4<=|W|<1
當基數為4時,尾數的最高兩位不全為0(對於正浮點數)或者尾數最高兩位不全為1(對於負浮點數)的數為規格化數。
當基數為8時,尾數的最高三位不全為0(對於正浮點數)或者尾數最高三位不全為1(對於負浮點數)的數為規格化數。
另:進一步發現,若基數越大,實際上能表示的數的範圍就越大,數的表示就越精確。
訂正:你的發現錯了!!
基數越大,可表示的浮點數範圍越大,這沒錯但是基數越大,浮點數的精度會下降!!!!