[問題] C 的float範圍有涵蓋單精的非正規化嗎?
大家好,
請問C 的float就是代表了IEEE 754單精的正規化嗎?
C float 可以表達的範圍也包含了 IEEE 754的非正規化的那部份嗎?
還是 C 的 float僅僅是 IEEE 754的 正規化的實現?
以下是我對IEEE 754 normalize 跟 denormalize 的認知:
IEEE 754 的單精 可以分成
正規化跟非正規化,非正規化應該就是為了表達比正規化更小的值(先不談正負),
所以它的數值大小範圍是 承接了正規化的範圍往下走(愈來愈小),也就是更小更接近零
,
(不管正規還是非正規,正負的差別只是Sign bit 是1或0不同而已,
IEEE 754 數值大小的E 跟 M的欄位的表示跟正負毫無關係,只要先表示好大小,
再把sign bit改成1,就變成負的值了。)
我不知以上的了解對不對?目前我的疑惑是 C 的float 是 IEEE 754 的全部實現嗎?
我對於C 的 float的範圍看到書講 :C 的float就是單精準確,
其他的我還弄不清楚? ( C float IEEE 754 兩者的正確關係我還沒摸索出來。)
meanwhile,我也不懂為何說C float的小數點有效位數是七位數或..?這跟正規化有關嗎
?
請幫我看看我哪裡講錯了,並教我一下, 謝謝。
(我上一篇同的標題格式不對,所以我重發,請幫我刪掉那一篇 謝謝)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.194.226
推
02/17 13:06, , 1F
02/17 13:06, 1F
推
02/17 13:25, , 2F
02/17 13:25, 2F
→
02/17 14:20, , 3F
02/17 14:20, 3F
推
02/17 16:08, , 4F
02/17 16:08, 4F
→
02/17 17:05, , 5F
02/17 17:05, 5F
→
02/17 17:06, , 6F
02/17 17:06, 6F
→
02/17 17:06, , 7F
02/17 17:06, 7F
→
02/17 17:07, , 8F
02/17 17:07, 8F
推
02/17 22:46, , 9F
02/17 22:46, 9F
推
02/17 22:50, , 10F
02/17 22:50, 10F
推
02/17 23:45, , 11F
02/17 23:45, 11F
→
02/17 23:46, , 12F
02/17 23:46, 12F
→
02/17 23:46, , 13F
02/17 23:46, 13F
→
02/17 23:47, , 14F
02/17 23:47, 14F
→
02/17 23:48, , 15F
02/17 23:48, 15F
→
02/17 23:49, , 16F
02/17 23:49, 16F
→
02/17 23:49, , 17F
02/17 23:49, 17F
→
02/17 23:50, , 18F
02/17 23:50, 18F
→
02/17 23:51, , 19F
02/17 23:51, 19F
→
02/17 23:52, , 20F
02/17 23:52, 20F