浮點型資料的有效數字是什麼?浮點型資料的有效數字

時間 2022-11-26 13:10:06

1樓:路路通

,浮點數的概念是相對於定點數的,浮點數是精度可變的一種表示法,其表示的數越大,其精度就越低,這也剛好滿足科學上的需要。

單精度浮點數是 32 位的,格式如下:

域: 符號位 指數(階碼) 尾數。

長度: 1 8 23

二進位制:0 00000000 00000000000000000000000

可以看出,這其中真正用來表示原來資料的也就是 23 位的尾數部分,由於計算機內部的誤差以及進位制轉換的問題,這 23位二進位制 換算成 十進位制 後有效數字也就 6-7 位了,其中的詳細運算規則請檢視該標準。

2樓:農靖海

你看看 ieee754 標準就明白了,浮點數的概念是相對於定點數的,浮點數是精度可變的一種表示法,其表示的數越大,其精度就越低,這也剛好滿足科學上的需要。

單精度浮點數是 32 位的,格式如下:

域: 符號位 指數(階碼) 尾數長度: 1 8 23二進位制:

可以看出,這其中真正用來表示原來資料的也就是 23 位的尾數部分,由於計算機內部的誤差以及進位制轉換的問題,這 23位二進位制 換算成 十進位制 後有效數字也就 6-7 位了,其中的詳細運算規則請檢視該標準。

浮點型資料的有效數字

3樓:gta小雞

浮點數的有效數字是6-7位,包括所有數字,和小數點在哪個位置無關,這也是稱為浮點數的原因之一。

六位有效數字。

七位有效數字。

什麼叫浮點型的有效數字

4樓:匿名使用者

浮點型一般指帶有小數的數字!float(浮點型)!比如說1.

2345678,輸出後事說明:1.

有效數字是7位2.對第八位進行了四捨五入,所以第八位是有效的注意:有效數字和有效不是一個概念!

float 型數值有效位數為6位是什麼意思?

5樓:小小草根

float 為單精度浮點型,有效數字為6~7位;double 為雙精度,有效數字為15~16; 但他們在輸出時,小數點後都有6位小數。例如。

c中的float和double的有效數字和精度各是多少?

6樓:寫在楓葉上的故事

float有效數字位為6 – 7位,位元組數為4,指數長度為8位,小數長度為23位。取值範圍為 。

double有效數字位為15 – 16位,位元組數為8,指數長度為11位,小數長度為52位。取值範圍為。

7樓:轉基因

float和double是有ieee標準的,不是c語言定的,其它語言也一樣。

double型90%的情況下有效位是16位的10進位制資料是對的。來一段lua程式:

local b= 9007199254740991

print("b=".d", b))

for i=1,10 do

print("i=".i.."b+i=".d", b+i))-列印的全是偶數。

endfor i=1,10 do

print("i=".i.."b-i=".d", b-i))-列印正確。

end由此可見,大於9007199254740991(2進位制52位最大的數),從2^53開始誤差就大於1。

8樓:青山鬱

float double

二進位制有效位數 24位 53位。

十進位制有效位數 7位 15位。

9樓:

準確來說是2^-15.

double尾數佔52位,2^-52=,即2^-16,所以能夠保證所有的15位精度。

10樓:匿名使用者

float是32位,double是64位。

float32位中,有1位符號位,8位指數位,23位尾數為。

double64位中,1位符號位,11位指數位,52位尾數位。

取值範圍看指數部分。

float是有符號型,其中,8位指數位,2^8=(-128—127),因此實際的範圍是-2^128—2^127,約為。

同理double範圍約是,樓主可以自己按下計算器試試看,印象深些。

精度是看尾數部分。

float尾數位23位,2^23=,7位,所以不同的編譯器規定不同,有些是7位,有些8位。

double尾數52位,2^52=,15位,所以double的有效位數是15位。

這是我個人的一點看法,純手打,希望能幫到你。

11樓:自我程式設計

由於預設小數最多顯示6位,我這裡整數6位 再強制讓輸出小數點後14位 共20位。

見程式float可靠資料 算上整數部分只有7位 而double 有16位。

12樓:雄雄兒

樓上的答案基本上是對的,不過還是有點小瑕疵計算機中的浮點數用的是ieee754標準,它的規定中:

1.階碼用的是8位的移碼,但是偏移用的是127,而不是128,並且全0和全1的階碼有特殊含義,所以階碼的實際取值範圍是[1,254],然後再減去127得[-126,127],而不是樓上說的[-128,127]

2.尾數部分是23位顯示儲存,實際上,為了多一位精度,它有一個隱含的1做為小數點前一位數字,這就是科學計數法,即如果尾數為1100,實際上是代表,所以尾數實際上是24位。

當然這些都不太影響樓上說的精度的啦2^24 約為10^(24*log2)=10^7,所以有效數是7位。

大家可以去查一下ieee 754浮點數標準,會更清晰些。

float 浮點型變數 不是保留八位有效數字嗎 為什麼這個有10位

13樓:聽不清啊

這是無意義的。

從1年期的就可以明顯看出的。

應該是。可是它的輸出顯示為。

實際上,float能夠保證的精度是7位有效數字,當只有一位整數時,預設的輸出6位小數是正確的;但是整數部分超出1位時,仍輸出6位小數是無意義的。在給出的資料中,輸出3位小數是最多的了。更多位數的小數就不能保證資料的正確性了。

14樓:

標頭檔案的部分**。

#define dbl_dig 15 //雙精度小數點後15位#define flt_dig 6 //單精度小數點後6位#define ldbl_dig 19 //長雙精度小數點19頁重力與質量的關係: g = mg合力公式: f = f +

關於c語言浮點數問題,c語言關於浮點型資料範圍的問題

標準c語言支援的浮點數符合ieee格式,是二進位制浮點數,並不是一個位元組存放一個十進位制小數位的。關於ieee浮點數,可以參考這裡 至於這裡的輸出問題,如ls所說,是printf預設輸出問題。如果使用 f和 lf格式控制符輸出浮點數,預設輸出保留6位十進位制小數,自動四捨五入。用 nf可以控制輸出...

請問浮點型資料在計算機是怎麼儲存的

月似當時 對於浮點型別的資料採用單精度型別 float 和雙精度型別 double 來儲存,float資料佔用32bit,double資料佔用64bit。無論是單精度還是雙精度在儲存中都分為三個部分 1 符號位 sign 0代表正,1代表為負。2 指數位 exponent 用於儲存科學計數法中的指數...

什麼是處理器的浮點運算

作為主cpu主要從事的運算,都是在許可範圍內儘可能逼近的近似值,相當多時候乘法比加法快,沒想到吧?而fpu這主要從事浮點運算,以前稱之為協處理器,486以前並不包含在cpu中 8086 8087,80286 80287,80386 80387 80386dx,80486sx 80487 80486d...