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 ...