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

時間 2022-02-11 20:00:20

1樓:

單精度,也就是 float ,在 32 位機器上用 4 個位元組來儲存的;而雙精度都是用 8 個位元組來儲存的。

這是他們最本質的區別。由於儲存位不同,他們能表示的數字的範圍也不同,具體能表示多大的範圍,查一下手冊就知道了。

2樓:匿名使用者

精度不一樣,表示數的範圍也不一樣

3樓:分析解答專家

回答你好 c語言中,單精度浮點型為float, 雙精度浮點型為double。

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

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

二者區別:

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。

更多16條

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

4樓:a羅網天下

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

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

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

5樓:du瓶邪

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

3、單精度定義是用float

4、雙精度定義是用double

比如:#include

main()

6樓:匿名使用者

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

7樓:

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

8樓:

精度,,,表示範圍呀

計算機c語言的單雙精度是什麼啊,怎麼區別啊?

9樓:匿名使用者

單精度float 佔用位元組4 數值範圍-10^38~10^38 有效數字6~7位

雙精度double 佔用位元組8 數值範圍-10^308~10^308 有效數字15~16位

一個位元組由8位1,0組成 即00000000為1個位元組 1個位元組可以表示0~255即acsii碼

10樓:小奇

雙精度能表示的數字範圍大小比單精度單精度大,都能表示小數

11樓:佟彥明

單精度佔4個位元組

雙精度佔8個位元組 簡單的說就是表示範圍大小不同

12樓:夢羽天堂

比如,11.234567這個就是單精度,單精度有效位數是前七位,當然不包括小數點,但是小數點後面預設保留6位小數,如果不夠6位用0填充。

12.23456789446547這個就是雙精度,雙精度預設保留14位小數。

雙精度比單精度表示浮點型(也就是小數)更精確一些,比如在需要高精度資料的地方就可以用雙精度。其它的前面都說了 都很對。

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

13樓:匿名使用者

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

14樓:匿名使用者

單精度就是

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

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

15樓:匿名使用者

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

double (10%3)就是15位。

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

16樓:5千零一

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

17樓:金色潛鳥

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

強制轉換 要帶 小括號。

18樓:程式猿3號

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

float a;

double b;

。。。。。。。。。。。

c語言單精度和雙精度的區別

19樓:

雙精度比單精度表示的位數大 精確的位數多,簡單地說, foat表示的小數點位數少,double能表示的小數點位數多! 如 float: 1.

0001 double:1.0000000001float為單精度,記憶體中佔4個位元組,有效數位是7位(因為有正負,所以不是8位),在我的電腦且vc++6.

0平臺中預設顯示是6位有效數字;double為雙精度,佔8個位元組,有效數位是16位,float 範圍:3.4e + / - 38 (7 個數字(7digits)double範圍:

-1.79769313486232e308 到 -4.94065645841247e-324,而正數的時候是從 4.

94065645841247e-324 到 1.79769313486232e308

一般在精確的數學計算的時候 會用到 一般應用 完全用不著

20樓:

你一般用的程式精確度不夠高,當需要很精確的時候就可以知道用處了

21樓:分析解答專家

回答你好 c語言中,單精度浮點型為float, 雙精度浮點型為double。

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

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

二者區別:

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。

更多16條

22樓:

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

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

位元(位)數 有效數字

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

c語言中單精度和雙精度怎麼定義的

23樓:匿名使用者

單精float a;

雙精double a;

a 是變數

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

24樓:木生子識時務

單精度用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語言單精度與雙精度的區別?

25樓:匿名使用者

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

單精度和雙精度有什麼不同,什麼是單精度和雙精度

如此 青春 單精度浮點數和雙精度浮點數有以下區別 1 所佔的記憶體不同 單精度浮點數佔用4個位元組 32位 儲存空間來儲存一個浮點數,包括符號位1位,階碼8位,尾數23位。而雙精度浮點數使用 8個位元組 64位 儲存空間來儲存一個浮點數,包括符號位1位,階碼11位,尾數52位。2 所存的數值範圍不同...

c語言怎麼求單精度和雙精度數值的範圍

可以看一下,裡面有一些相關的巨集定義。另外,整數的範圍可以看。 電子產品第一線 float和double的範圍是由指數的位數來決定的。float的指數位有8位,而double的指數位有11位,分佈如下 float 1bit 符號位 8bits 指數位 23bits 尾數位 double 1bit 符...

c語言中整型,字元型,浮點型,和雙精度浮點型,詳解

整型,計算機中的一個基本的專業術語,指沒有小數部分的資料。整型可以用十進位制,十六進位制或八進位制符號指定,前面可以加上可選的符號 或者 包括整型常量和整型變數,整型變數又包括短整型 基本整型 長整型,它們都分為有符號和無符號兩種版本,是一種智慧的計算方式。字元型量包括字元常量和字元變數。字串常量由...