請教各位先進
小弟讀過計概補習班講義後 自以為有讀懂浮點數章節部份
沒想到看了幾題考古題才一直卡卡卡卡 囧囧囧囧
原來講義沒提到 非IEEE754標準的非正規形式浮點數
去wiki跟google補完後 還是有觀念卡住 還請不吝解惑
Question: 指數範圍部份、最大最小數值部份
以IEEE754 單精度浮點數為例 指數部份 8 bits
亦即指數範圍在 0 ~ (2^8 -1) => 0~255
又IEEE754定義保留 0,255 為特殊值 (0給正負0用,255給正負無限大用)
所以剩下 1~254 , 減去偏移值 127 ( 127 = 2^(8-1) -1 )
真正的指數範圍為 -126~127 (題目常出求最大最小正負數用)
所以此例 最大正數= + 2^127 * 1.11111....
最小負數= - 2^127 * 1.11111....
最小正數= + 2^-126 * 1.0
最大負數= - 2^-126 * 1.0
以上有錯還請指正(?)
可是考題做到這兩題時就搞不懂了
根據WIKI - 非正規形式的浮點數的指數偏移值比正規形式的浮點數的指數偏移值大1
https://zh.wikipedia.org/wiki/IEEE_754#cite_note-2
=> 非正規浮點數偏移值 2^(N-1) ; 正規浮點數偏移值 2^(N-1) -1
接著看題目
http://i.imgur.com/vMYjYw3.png
左題指數部份 3 bits ,題目寫明是正規化浮點數
為何解題部份 求大小數範圍時 指數範圍取 -4~3 ? (即 000 -4 , 111 -4)
2 2
所以沒有保留位的設定? 正規形式跟IEEE標準是兩碼子事? (混淆了...)
右題指數部份 5 bits,題目很明顯是非IEEE標準了
5 bits 意即 指數範圍在 0 ~ 31, 減去偏移值 2^(5-1)
後 真正指數範圍在 -16~15,符合下面解答的寫法
可是保留位呢 QQ 思考一直轉不過來 Orz