c語言中單精度型與雙精度型的區別

2021-03-04 09:00:54 字數 4854 閱讀 1815

1樓:木生子識時務

單精度用float定義,雙精度用double定義。

ansi標準

僅規定了double至少要和float一樣長,同時規定所有的浮點類專型至少能夠容屬

納從-10^37到10^37之間的任意值。

所以,不同的編譯器可能會有不同的情況。一般來說,float是是4個位元組的,double是8個位元組的。

float用4個位元組32位二進位制表示,單精度數大約有7位十進位制有效數字,數值的表示範圍約為±(3.4×10^38…3.4×10^38);

double用8個位元組64位二進位制表示,雙精度數大約有16位十進位制有效數字,數值的表示範圍約為±(1.7×10^308…1.7×10^308);

c語言中,雙精度型和單精度型有什麼區別

2樓:好嘞啊啊啊啊

單精度浮點數的範圍

在負數的時候

是從 -3.402823e38 到 -1.401298e-45,而在正數的版時候是從 1.401298e-45 到 3.402823e38 。 (e後指的是指數權)

雙精度浮點數的範圍則在1.7e-308~1.7e+308之間。

用法單精度

float a;

scanf("%f",&a); //%f 輸入和輸出printf("%f",a);

雙精度double a;

scanf("%lf",&a); //用%lf 輸入和輸出printf("%lf",a);

3樓:匿名使用者

雙精度型出來的結果小數點後有八個位元組,而單精度只有四個位元組,也就是說,精確度是不同的~~

4樓:

表示的資料範圍和資料精度不同

double 能表示的資料範圍比float 的大

double 能表示的資料精度比float 要高

5樓:匿名使用者

它們在記憶體中所佔的位元組不同,乙個是4位元組,乙個是8位元組,因此表示的有效位數,雙精度比單精度要大得多

6樓:藤帆藩子美

單精度和雙精度最大區別就是結果精確到第幾位。

單精度是這樣的格式,1位符號,8位指數,23位小數。

雙精度是1位符號,11位指數,52位小數。

7樓:匡巨集仇斯伯

單精度和雙精度的區別用數學語言來說是精確到第幾位的區別:單精度精確到小數點後第6位,雙精度精確到小數點後15位。

8樓:析田承深

1、單精度和雙精度都指浮點數,就是帶小數點的數2、單精度數的有效位數比內較少,容7位左右,雙精度的在幾十位。

3、單精度定義是用float

4、雙精度定義是用double

比如:#include

main()

c語言中的 單精度型 和雙精度型是什麼意思

9樓:a羅網天下

單精度和雙精度最大區別就是結果精確到第幾位。

單精度是這樣的格式,1位符號,8位指數,23位小數。

雙精度是1位符號,11位指數,52位小數。

10樓:du瓶邪

1、單精度和雙精度都指浮點數,就是帶小數點的數2、單精度數的有效位數比較少,7位左右,雙精度的在幾十位。

3、單精度定義是用float

4、雙精度定義是用double

比如:#include

main()

11樓:匿名使用者

單精度和雙精度的區別用數學語言來說是精確到第幾位的區別:單精度精確到小數點後第6位,雙精度精確到小數點後15位。

12樓:

主要是取的小數點不一樣,其實沒有什麼區別

13樓:

精度,,,表示範圍呀

c語言單精度與雙精度的區別?

14樓:匿名使用者

其實就是有效位du數不zhi

一樣。浮點型變數分為單精度dao(float)、雙精版度(double)和長雙精度(long double)3類。在turbo c 中:

位元(位)權數 有效數字

float 32 6-7double 64 15-16long double 128 18-19ansi c 並未具體規定每種型別資料的長度、精度、數值範圍,有的系統將double所增加的32位全用於存放小數部分,這樣可以增加數值的有效範圍,減少捨入誤差。有的系統則將所增加的位(bit)一部分存放指數部分,這樣可以擴大數值範圍

15樓:匿名使用者

c中沒有單精度的說法,一般就叫浮點型float。雙精度是double,這兩個的區別是在win32和linux下,float型別佔4位元組回,答double型別佔8位元組,因為double佔8位元組,自然雙精度的有效資料位比float型別多,更精確

16樓:匿名使用者

單精度實型 float 佔4個位元組

能保證6位有效數字,取值範圍為-3.4*10的-38次方至3.4*10的38次方。

雙精度實型 double 佔專8個位元組

能保證15位有效屬數字,取值範圍為-1.7*10的-308次方至1.7*10的308次方

17樓:匿名使用者

佔用記憶體空間不一樣,單精度4位元組,雙8……

18樓:匿名使用者

精度不一樣 位數不一樣啊

c語言中什麼是單精度型和雙精度型???各舉個例子。。。

19樓:匿名使用者

單精度型和雙精度型的區別在於它們的精確程度不一樣,也就是小數部分的有效位數不一樣。62616964757a686964616fe58685e5aeb931333431356664

單精度數(float型)在32位計算機中儲存佔用4位元組,也就是32位,有效位數為7位,小數點後6位;雙精度數(double型)在32位計算機中儲存佔用8位元組,也就是64位,有效位數為16位,小數點後15位。

比如3.1415926535897932384這個小數,如果定義成float型,那麼只會留下小數點後5位,也就是3.141592,如果定義成double型,那麼只會留下小數點後15位,也就是3.

141592653589793。

擴充套件資料

計算機的數都是以二進位制進行儲存。無論是單精度浮點數還是雙精度浮點數,在計算機上的儲存都遵循ieee 754規範,使用二進位制科學計數法。

二進位制科學計數法包含三個部分:符號位,指數字和尾數部分。單精度數的符號位,指數字和尾數部分分別為1,8,23,而雙精度為1,11,52。

而單雙精度中的精度就主要取決於尾數部分的位數。float的尾數尾數為23位,除去全部為0的情況以外,最小為2的-23次方,因此float小數部分只能精確到後面6位。類似的,double尾數字數為52,最小為2的-52次方,因此只能精確到小數點後15位。

20樓:匿名使用者

單精度就是

復float型別,是4個位元組的制,因此精度bai沒有那麼高雙精度就是double型別du,zhi是8個位元組的,可以表示的數字當dao然就更多,小數點後面的精度也越高

float f; // 是4個位元組的單精度變數double d; // 是8個位元組的雙精度變數

21樓:匿名使用者

float(10%3)結果是1.000000即七位小數點後保留。

double (10%3)就是15位。

說到底就是個精度的問題望採納

22樓:5千零一

float是單精度型4位元組,double是雙精度型8位元組

23樓:金色潛鳥

c語言中 單精度

型和bai雙du精度型 指兩種 型別 的 浮點數zhi。

單精度型dao 即 float 型, 有效數字專約屬10進製7位

雙精度型 即 double 型, 有效數字約10進製15位

所以能描述的數值精度不同。

c語言 資料 用 ieee 754 國際標準。float 型 用 4 位元組存放,double 型 用 8 位元組存放。

single precision 2進製: 數符1位,指數8 位,尾數 23 位

double precision 2進製: 數符1位,指數11 位,尾數 52 位

單精數值範圍: ± ~10的-44.85次方 到 約 10的38.53次方

雙精度數值範圍 ± ~10的-323.3 次方 to 約 10的 308.3次方。

float a=1.234567;

double b=1.2345678901234;

-------------

10%3 整除取餘數,得 1。

1 用 float 和 double 表示,精度沒有區別。 a=(float)(10%3); b=(double)(10%3);

強制轉換 要帶 小括號。

24樓:程式猿3號

float是單精度型,double是雙精度型,例子:

float a;

double b;

。。。。。。。。。。。

c語言中雙精度型與單精度型有什麼區別

25樓:0揮不去的傷痛

單精度float,四位元組,可輸出小數點後5~6位

雙精度double,八字節,可輸出小數點後15~16位

如有疑問,請您追問。

單精度小數點後面有幾位,C語言浮點型小數點後為多少位

不一定的。單精度浮點數,浮點浮點,意思就是小數點會浮動的。單精度浮點數的實際有效精度為24位二進位制,這相當於 24 log102 7.2 位10進位制的精度,所以平時我們說 單精度浮點數具有7位精度 精度的理解 當從1.000.02變化為1.000.12時,變動範圍為2 23,考慮到因為四捨五入而...

c語言中int型與double型能進行換算加減乘除嗎

能進bai行,不會錯,系統實際會把du參加運zhi算的所有變數轉換為double後進dao行計算專,只要表示式屬裡面有乙個float或者double的量,例如 int i 1 float x 5,y y x i 執行的時候系統會把x和i都轉換為double進行計算,最後的結果再儲存為y的double...

C語言中double和int型的資料之間可相互賦值

可以。如 double a 1.2 int b b a b 1 取整了 int a 1 double b b a b 1.00000 1 double 雙精度浮點型 是計算機使用的一種資料型別。比起單精度浮點數 float double 雙精度浮點數 使用 64 位 8位元組 來儲存乙個浮點數。2 ...