什麼是IEEE754标準:
IEEE是浮點數算術标準(IEEE 754)是最廣泛使用的浮點數運算标準,為許多CPU與浮點運算器所采用。
它規定了計算機程序設計環境中的二進制和十進制的浮點數的交換、算術格式以及方法。
下面用三分鐘帶你掌握IEEE754标準:
一. 理論
IEEE754标準從邏輯上采用三元組{S,E,M}表示一個浮點數N(單精度浮點數float為例)
浮點數表示方法
将單精度浮點數轉化為2進制數(保留24位有效數,0舍1入)
将小數點左移e位至第一位1之後
2進制數乘以2的e次方
判斷符号位S(正數為0,負數為1)
計算階碼為127 e = 0111 1111 e = E
取尾數M,将第二部最高位1舍去,剩下23位有效位
拼接,S E M 即為所求
将理論看完理解後1分鐘過去了,來個實例分析一下。
二. 樣例
【1111011.01110100101111001】(2) ->24位
【1.11101101110100101111001】(2) 移動小數點(e = 6)
【1.11101101110100101111001】* 2 ^ 6
正數S = 0
階碼 E = 0111 1111 0000 0110 = 10000101
尾數 M = 11101101110100101111001
拼接:S E M = 0 10000101 11101101110100101111001(2)= 42F6E979(H)
計算出結果後,已經快兩分鐘了,快打開編譯器調試一下吧~
三. 驗證
Debug查看
d = 123.456001 為什麼? 因為浮點數是有誤差的,還記得0舍1入嗎? 到此分析結束。
樣例是單精度浮點型,那麼雙精度浮點型呢?
好了三分鐘到了,自己動手實踐驗證一下吧,原理和單精度浮點型是類似的哦~
如有錯誤歡迎指正,謝謝。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!