浮點數所能表示的數值範圍和精度撒於什麼

2021-06-29 10:39:58 字數 1094 閱讀 1104

1樓:smile灬微光丶

浮點數所能表示的數值範圍和精度取決於階碼和尾數。

階碼:採用指數的實際值加上固定的偏移值的辦法表示浮點數的指數,好處是可以用長度為 個位元的無符號整數來表示所有的指數取值,這使得兩個浮點數的指數大小的比較更為容易,實際上可以按照字典序比較兩個浮點表示的大小。這種移碼錶示的指數部分,中文稱作階碼。

定點數(即尾數):定點數是指計算機中採用的一種數的表示方法。參與運算的數的小數點位置固定不變。

ieee標準從邏輯上採用一個三元組來表示一個數n,它規定基數為2,符號位s用0和1分別表示正和負,尾數m用原碼錶示,階碼e用移碼錶示。

根據浮點數的規格化方法,尾數域的最高有效位總是1,由此,該標準約定這一位不予儲存,而是認為隱藏在小數點的左邊,因此,尾數域所表示的值是1.m(實際儲存的是m),這樣可使尾數的表示範圍比實際儲存多一位。

擴充套件資料

為了充分利用尾數的二進位制編碼表示更多的有效數字,為了使浮點保持更高的精度以及有統一的表示形式,對浮點數規格化,將尾數的絕對值限定在一個規定的數值範圍內。

規格化的浮點數尾數的絕對值應在1/2~1之間。

尾數m使用補碼錶示,當m>=0時,規格化尾數的形式必須為:m=0.1***x...x(1+n位)

當m<0時,規格化尾數的形式必須為:m=1.0***x...x(1+n位)

尾數的最小負值為-1,最大負值為-(1/2+2^-n)

尾數的最小正值為+1/2,尾數的最大正值為+(1-2^-n)

2樓:

浮點數的精度取決於尾數的位數,數值的範圍取決於階碼的位數,在浮點數總位數不變的情況下,階碼位數越多,位數位數就越少。即表示的範圍越大,精度就會越差。

3樓:向天致信

浮點數所能表示的範圍取決於階碼;精度取決於尾數。

浮點數是屬於有理數中某特定子集的數的數字表示,在計算機中用以近似表示任意某個實數。具體的說,這個實數由一個整數或定點數(即尾數)乘以某個基數(計算機中通常是2)的整數次冪得到,這種表示方法類似於基數為10的科學計數法。

4樓:匿名使用者

範圍取決於階碼,精度取決於尾數

為啥雙精度浮點數數值範圍為17E30817E

雙精度型別的數用8個位元組64位二進位制表示,雙精度數大約有16位十進位制有效數字,數值的表示範圍約為 1.7 10 308 1.7 10 308 同理浮點型別的數用4個位元組32位二進位制表示。這樣表示的數大約有7位十進位制有效數字,數值的表示範圍約為 3.4 10 38 3.4 10 38 長雙...

python雙精度浮點數用什麼表示

單精度浮點數在機內佔4個位元組,用32位二進位制描述。雙精度浮點數在機內佔8個位元組,用64位二進位制描述。對程式設計人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗記憶體是float的兩倍,double的運算速度比float...

單精度的浮點數有效數字為什麼是七位

單精度數的尾數用23位儲存,加上預設的小數點前的1位1,2 23 1 16777216。因為 10 7 16777216 10 8,所以說單精度浮點數的有效位數是7位。雙精度的尾數用52位儲存,2 52 1 9007199254740992,因為10 16 9007199254740992 10 1...