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

2021-04-17 12:45:05 字數 5256 閱讀 2493

1樓:諫桀申屠純

單精度是float,是4個位元組的

雙精度是double,是8個位元組的

大小都不一樣了,表示的當然也就不一樣,雙精度可以表示的數的範圍可以大一點

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

2樓:匿名使用者

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

3樓:匿名使用者

單精度就是

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

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

4樓:匿名使用者

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

double (10%3)就是15位。

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

5樓:5千零一

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

6樓:金色潛鳥

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

強制轉換 要帶 小括號。

7樓:程式猿3號

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

float a;

double b;

。。。。。。。。。。。

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

8樓:碧血玉葉花

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

強制轉換 要帶 小括號。

9樓:某某匿名網友

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

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

10樓:濫晴

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。

11樓:匿名使用者

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語言中的 單精度型 和雙精度型是什麼意思

12樓:a羅網天下

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

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

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

13樓:du瓶邪

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

3、單精度定義是用float

4、雙精度定義是用double

比如:#include

main()

14樓:匿名使用者

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

15樓:

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

16樓:

精度,,,表示範圍呀

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

17樓:好嘞啊啊啊啊

單精度浮點數的範圍

在負數的時候

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

18樓:匿名使用者

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

19樓:

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

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

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

20樓:匿名使用者

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

21樓:藤帆藩子美

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

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

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

22樓:匡巨集仇斯伯

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

23樓:析田承深

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

3、單精度定義是用float

4、雙精度定義是用double

比如:#include

main()

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

單精度和雙精度最大區別就是結果精確到第幾位。單精度是這樣的格式,1位符號,8位指數,23位小數。雙精度是1位符號,11位指數,52位小數。1 單精度和雙精度都指浮點數,就是帶小數點的數2 單精度數的有效位數比較少,7位左右,雙精度的在幾十位。3 單精度定義是用float 4 雙精度定義是用doubl...

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

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

c語言中用scanf輸入雙精度浮點數

c語言中用scanf輸入雙精度浮點數的源 如下 include include int main int n,a,i printf 請輸入陣列長度 scanf d n a malloc sizeof int n 分配記憶體 printf 請輸入 d個數 n n for i 0 i n i scanf...