ieee754標準規定了3種浮點數格式:單精度、雙精度與擴充套件精度
ieee754標準從邏輯上用三元組表示乙個數n,對於雙精度而言,其編碼格式為1位符號位,11位階碼和52位尾數
n = (-1)^s x 2^(e-1023) x (1.m)
1、浮點數的加減法運算
加減法的本質相同,減法可以通過對減數的符號位取反變為加法。浮點數加法器一般運算規則是:
a.指數相減:將兩個指數化作相同值,比較兩指數的大小再求出兩指數的差,取其絕對值為δe
b.對階移位:取指數小的數,把其尾數右移δe位
c.尾數相加減:將對階和移位後的兩尾數相加減
d.轉換:若尾數相加後,其結果為負,則需求其補數,轉換成符號和尾數的形式
e.前導0和前導1判定:判定出因加結果造成的右移位數或因減結果造成的左移位數
f.規格化:對尾數相加減後的結果再進行移位,清除尾數的無效位,保證最高位是1
g.捨入:把規格化的尾數捨入到規定的結果來表示乙個有限精度的浮點數
此外,尾數加減前設計了專門的交換電路,保證兩個運算元總是大的加上小的,只需對乙個運算元設計對階電路模組,節省了硬體資源。
浮點數的加減法運算
浮點數與定點數相比較有兩個比較明顯地特點 1 小數點位置不固定,但是在浮點數加減法運算的時候,小數點必須對齊 2 儲存器中儲存的不是浮點數的直接值,而儲存的是符號,尾數,移碼 階碼三種要素,所以不能直接相加減,實際上,針對浮點數的加減法運算,只需要對代表浮點數有效部分的尾數進行加減運算。所以,浮點數...
浮點數加減法的運算步驟
1.浮點加減法的運算步驟 前面已講到,浮點數經常被寫成如下的形式 x mx 2ex 其中mx為該浮點數的尾數,一般為絕對值小於1的規格化的二進位制小數,機器中多用原碼 或補碼 形式表示。ex為該浮點數的階碼,一般為二進位制整數,機器中多用移碼 或補碼 表示,給出的是乙個指數的冪,而該指數的底常用2 ...
浮點數精確加減法,保留精度
在用php做漸漸發的時候一定要注意,浮點數直接相加減會造成精度丟失,這時候需要使用精度函式 bcadd 2個任意精度數字的加法計算 bccomp 比較兩個任意精度的數字 bcdiv 2個任意精度的數字除法計算 bcmod 對乙個任意精度數字取模 bcmul 2個任意精度數字乘法計算 bcpow 任意...