浮點數精確加減法,保留精度

2021-09-28 07:02:07 字數 433 閱讀 3178

在用php做漸漸發的時候一定要注意,浮點數直接相加減會造成精度丟失,這時候需要使用精度函式:

bcadd — 2個任意精度數字的加法計算

bccomp — 比較兩個任意精度的數字

bcdiv — 2個任意精度的數字除法計算

bcmod — 對乙個任意精度數字取模

bcmul — 2個任意精度數字乘法計算

bcpow — 任意精度數字的乘方

bcpowmod — raise an arbitrary precision number to another, reduced by a specified modulus

bcscale — 設定所有bc數學函式的預設小數點保留位數

bcsqrt — 任意精度數字的二次方根

bcsub — 2個任意精度數字的減法

浮點數的加減法運算

浮點數與定點數相比較有兩個比較明顯地特點 1 小數點位置不固定,但是在浮點數加減法運算的時候,小數點必須對齊 2 儲存器中儲存的不是浮點數的直接值,而儲存的是符號,尾數,移碼 階碼三種要素,所以不能直接相加減,實際上,針對浮點數的加減法運算,只需要對代表浮點數有效部分的尾數進行加減運算。所以,浮點數...

浮點數加(減)法 乘法 除法運算

ieee754標準規定了3種浮點數格式 單精度 雙精度與擴充套件精度 ieee754標準從邏輯上用三元組表示乙個數n,對於雙精度而言,其編碼格式為1位符號位,11位階碼和52位尾數 n 1 s x 2 e 1023 x 1.m 1 浮點數的加減法運算 加減法的本質相同,減法可以通過對減數的符號位取反...

浮點數加減法的運算步驟

1.浮點加減法的運算步驟 前面已講到,浮點數經常被寫成如下的形式 x mx 2ex 其中mx為該浮點數的尾數,一般為絕對值小於1的規格化的二進位制小數,機器中多用原碼 或補碼 形式表示。ex為該浮點數的階碼,一般為二進位制整數,機器中多用移碼 或補碼 表示,給出的是乙個指數的冪,而該指數的底常用2 ...