浮點數的理解

2021-07-26 11:36:23 字數 876 閱讀 4572

1、浮點數的表示

ieee-754

目前絕大多數語言都支援該文件,c語言裡面的float,double就為該文件的32位和64位浮點。

(1)單精度浮點值

float型別的為32位儲存方式,從高位到低位的儲存分別為31位是數符位,30-23位是階碼位e,在儲存時真實階碼e要加上7f(h)為e,後面的22-0位是尾數m,規格化表示時預設1.m,在浮點數小於規格化表示的最小絕對值數e等於-126時,轉變為非規格化表示,尾數表示0.m,採用漸近式下溢。32位通常最大3.4e38,最小1.4e-45.

(2)雙精度浮點值

double型別為64位儲存方式,從高位到低位的儲存方式分別為63位是數符位,62-52位是階碼位e,儲存時,真實階碼e要加上3ff(h)得到e,後面51-0位的52位是尾數字,同樣分別規格化和非規格化表示,同上。

2、浮點數規定

(1)0的規定

以32位為例,當e和m都為0時,表示浮點數的0。由於有數符的區別,所有有+0和-0的區別,但是ieee754規定,它們兩者相等。

(2)無窮大

e=255,即指數域全1,m為0,此時表示無窮,根據數符位,分為正無窮和負無窮。除nan(not a number)外,其他任何數除以0都是無窮。

(3)nan(bot a number)

e=255,即指數域全1,m非0,此時表示nan,用於處理不為無窮大的錯誤。

3、浮點數與實數的區別

浮點數在計算機中是離散分布和儲存的,其數的個數是有限的,兩數之差是確定的值,如果兩個不等的浮點數的差值小於最小的浮點絕對值,那麼系統將該差值視為0。

實數是連續分布的,數的個數是無限的,兩數之差不會出現歸零想象。

實數和浮點數之間的轉換,由於浮點數精度有限,在轉換的過程中可能出現精度丟失的情況。

浮點數的理解

浮點表數法 的標準是這樣,假如是 single float 單精度浮點數為例,是4位元組32位的 儲存空間 第一位 bit 正負號 比如1代表 正數,0代表負數 後面八位是,2 x 次方中的 x 最後二十三位,表示 精度數值 這23位,分成整數和小數部分,x1.x2 2 y1 y2 設 y2就是 0...

理解浮點數儲存

b 整體呈現 b size medium 二進位制浮點數是以符號數值表示法格式儲存,將最高效位元指定為符號位元 sign bit 指數部份 即次高效的e位元,為浮點數中經指數偏差 exponent bias 處理過後的指數 小數部份 即剩下的f位元,為有效位數 significand 減掉有效位數本...

浮點數理解

任何乙個數均可以表示為 n r s r e r 基值。計算機中常用的r可取2 8 10 16等。s 尾數。代表數n的有效數字。計算機中一般表示為純小數。e 階碼。代表數n的小數點的實際位置。一般表示為純整數。一 定點小數 定點小數 約定計算機中所有資料的小數點位置均是相同的,而且是固定不變的,即階碼...