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

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

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;

。。。。。。。。。。。

怎麼看表示式的資料型別是單精度還是雙精度比如

你可以 system.out.println 輸出看一下 會提示你是否超出精度範圍的.記得給最佳啊 呵呵.表示式18 4 sqrt 4.0 8值的資料型別為 double 首先計算18 4得到的int型的。然後結果和sqrt 4.0 計算,sqrt返回double型的數。然後 8.由於c語言算數計算...

白酒酒精含量與酒精度的區別,酒精與白酒的區別

沒有區別,講的是同一種東西,只是表達方式不同,酒精度是怎麼界定的酒精度的定義是指酒中純乙醇 酒精 所含的容量百分比。比如某酒100毫升中純乙醇含量為10毫升,這種酒的酒度就是10度,但乙醇含量是隨溫度高低有所變化,我國規定是在溫度20 時檢測為準,也就是20 時,100毫升酒中純乙醇含量多少毫升,就...

C語言與C 結構體的區別,C語言和C 語言的區別是什麼?

c語言的結構就是值型別,跟int,char沒有什麼區別 c 的結構跟類已經非常接近了,就是如果不具體說明,預設為共有 比如說這個結構體吧.struct mystruct str 在c 裡可以這樣用 mystruct s1 mystruct 就是一個型別,在c裡只能這樣用其 struct mystru...