浮點數所表示的數值範圍

2021-08-20 21:51:08 字數 824 閱讀 4693

1. 浮點數表示:

f=m* r^e

m為尾數,e為階碼,r是基數(為2)

設階碼數值位e取k位;階符1位且採用補碼;尾數r的數值位取n位;數符1位且採用補碼;

階符(1位)

階碼e(k位)

數符(1位)

尾數m(n位)

都使用二進位制表示,例如:

f=11.0101=1.10101* 2^-10

2.浮點數所表示的數值範圍,分為規格化與非規格化:

非規格化:

階碼e的最小值為-2^k,最大值為2^k-1

規格化:

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

規格化的浮點數尾數的絕對值應在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)

浮點數的表示

在定點數表示中存在的乙個問題是,難以表示數值很大的資料和數值很小的資料。例如,電子的質量 9 10 28克 和太陽的質量 2 1033克 相差甚遠,在定點計算機中無法直接表示,因為小數點只能固定在某乙個位置上,從而限制了資料的表示範圍。為了表示更大範圍的資料,數學上通常採用科學計數法,把資料表示成乙...

浮點數的表示

日期 2010年6月 6日 1.前幾天,我在讀一本c語言教材,有一道例題 includevoid main void 執行結果如下 num的值為 9 pfloat的值為 0.000000 num的值為 1091567616 pfloat的值為 9.000000 我很驚訝,num和 pfloat在記憶...

浮點數的表示

浮點數,是指小數點在資料中的位置可以左右移動的資料。它通常被表示成 n m re 這裡的m mantissa 被稱為浮點數的尾數,r radix 被稱為階碼的基數,e exponent 被稱為階的階碼。計算機中一般規定r為2 8或16 是乙個確定的常數,不需要在浮點數中明確表示出來。因此,要表示浮點...