※ 引述《ahongyeh (小葉子)》之銘言:
: Please estmate how many realnumbers can be represent ed by 32-bit
: IEEE 754 floating point.
: 我想問的是~~
: 這題要問的是能表示的範圍還是能表示的數量!?
: 如果是數量的話~~
: 不就是 2^32 種表示方式嗎!?
: 格式不管怎麼樣設定~~最多應該是 2^32 個,不是嗎!?
: 那如果是要問範圍的話~~
: 是要以二進位回答還是十進位!?
: 麻煩強者解惑~~
此題照字面上意思應該是問數量~
答案應該是2^32-4
分析IEEE754的8種特殊狀況:
0 1 8 9 31
┌──┬────────┬───────────────────┐
│Sign│Exponent(超128) │Mantissa │
└──┴────────┴───────────────────┘
以下Sign簡稱S,Exponent簡稱E,Mantissa簡稱M
當E = 255, M = 0: (1)S = 1 ,表示 -∞
(2)S = 0 ,表示 +∞
當E = 255,M≠0: (3)NaN (Not a Number),如0^∞
(4)當然這也可能有負的情形~
當E = 0,M = 0 : (5)S = 0 ,表示 +0
(6)S = 1 ,表示 -0
當E = 0,M≠0: (7)underflow(Denormal),一般視同0處理
(8)同樣有正負之分
按照上面歸納情形,(5)(6)(7)(8)都可以算數字(正負0),所以只要扣除剩下
四個情形,也就是一共有2^32-4個數字這麼多~
有問題歡迎指正~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.182.23