C語言的單精度與雙精度如何區別,C語言中單精度浮點數和雙精度分別如何表示?有什麼差別?

2021-08-04 20:31:09 字數 5643 閱讀 2923

1樓:

其實就是有效位數不一樣。

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

位元(位)數 有效數字

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

2樓:匿名使用者

在c語言中單精度型別稱為浮點型別(float),顧名思義是通過浮動小數點來實現資料的儲存。它所佔的記憶體空間為4位元組(32位),可以表示±3.4*1038範圍內的數值,在ieee 754標準中的表示範圍可達到7位精度。

雙精度資料型別(double)與float 資料型別相似,但精確度提高到16位,而且佔的記憶體空間為8位元組(64位),其數值範圍為1.7e-308~1.7e+308。

例:假設單精度用4位數記錄一個變數,雙精度就是用兩個單精度也就是8位來記錄一個變數。比如0.

11111111,單精度下就只能記錄0.1111,雙精度就能記錄到0.11111111。

c語言中單精度浮點數和雙精度分別如何表示?有什麼差別?

3樓:濫晴

float為單精度,dao記憶體中佔4個位元組,有效數版位是7位(因為有正負權,所以不是8位),在我的電腦且vc++6.0平臺中預設顯示是6位有效數字。

double為雙精度,佔8個位元組,有效數位是16位,但在我的電腦且vc++6.0平臺中預設顯示同樣是6位有效數字。

佔用位元組空間不同。

一個float變數佔用四位元組,一個double型別變數,一般佔用8位元組。

表示範圍不同。

float表示範圍為-3.4e-38~3.4e+38。double 表示範圍為-1.7e-308~1.7e+308。

精度不同。

float在表示十進位制時,有效數字為6到7位。double在表示十進位制時,有效數字為15到16位。

輸入輸出格式不同。

在c語言中,輸入輸出格式化字串,float使用%f,而double使用%lf。

4樓:匿名使用者

c語言中,單精度浮點copy型為float, 雙精度浮點型為double。具體區別如下:

1、 佔用位元組空間不同。

一個float變數佔用四位元組,一個double型別變數,一般佔用8位元組。

2、 表示範圍不同。

float表示範圍為-3.4e-38~3.4e+38。

double 表示範圍為-1.7e-308~1.7e+308。

3、 精度不同。

float在表示十進位制時,有效數字為6到7位。

double在表示十進位制時,有效數字為15到16位。

4、輸入輸出格式不同。

在c語言中,輸入輸出格式化字串,float使用%f,而double使用%lf。

請問c語言中的float和double型別有什麼區別?什麼叫做單精度和雙精度?

5樓:碧血玉葉花

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);

強制轉換 要帶 小括號。

6樓:某某匿名網友

sizeof(float)是4,sizeof(double)是8,精度高,有效數字多

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

7樓:a羅網天下

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

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

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

8樓:du瓶邪

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

3、單精度定義是用float

4、雙精度定義是用double

比如:#include

main()

9樓:匿名使用者

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

10樓:

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

11樓:

精度,,,表示範圍呀

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

12樓:匿名使用者

其實就是有效位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)一部分存放指數部分,這樣可以擴大數值範圍

13樓:匿名使用者

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

14樓:匿名使用者

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

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

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

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

15樓:匿名使用者

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

16樓:匿名使用者

精度不一樣 位數不一樣啊

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

17樓:匿名使用者

單精度型和雙精度型的區別在於它們的精確程度不一樣,也就是小數部分的有效位數不一樣。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位。

18樓:匿名使用者

單精度就是

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

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

19樓:匿名使用者

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

double (10%3)就是15位。

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

20樓:5千零一

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

21樓:金色潛鳥

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);

強制轉換 要帶 小括號。

22樓:程式猿3號

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

float a;

double b;

。。。。。。。。。。。

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

實型變數分為兩類 單精度型和雙精度型,其型別說明版符為float 單精度說明權 符,double 雙精度說明符。在turboc中單精度型佔4個位元組 32位 記憶體空間,其數值範圍為3.4e 38 3.4e 38,只能提供七位有效數字。雙精度型佔8 個位元組 64位 記憶體空間,其數值範圍為1.7e...

雙精度小數型是什麼意思,單精度與雙精度是什麼意思,有什麼區別

雙精度型佔8 個位元組 64位 記憶體空間,其數值範圍為 1.79769313486232e308 到1.79769313486232e308。通常情況,單精度浮點數佔4位元組 32位 記憶體空間,其數值範圍為 3.4e38 3.4e 38,雙精度型佔8 個位元組 64位 記憶體空間,其數值範圍為 ...

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

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