c 中為什麼1 0 2 0輸出來不是3 0而是3 定義輸出結果為double型

2021-04-18 01:06:46 字數 1690 閱讀 5627

1樓:晚風浮醉

cout自動調整了精度,你可以使用iomanip標頭檔案下的操縱函式setprecision()自己調整輸出的精度。

2樓:匿名使用者

因為cout會自動調整輸出精度

3樓:匿名使用者

定義輸出結果為浮點型

c++中定義float a;a=2/3;但輸出結果為0.a=3/2,輸出結果為1.為什麼哇??

4樓:匿名使用者

當然了。

2/3是整型運算,結

果為整型,結果為0,將0賦給變數a,a=0同樣道理,3/2是整型運算,結果內為容整型,結果為1,將1賦給變數a,a=1

並不是定義a為float型,就能影響到等式右邊的計算,等式右邊還是整型運算。

要想得到a的實際值,可用a=2.0/3;或a=2/3.0或a=2*1.0/3,就是等式右邊要引入浮點型進行計算。

5樓:匿名使用者

2/3是個整數表示式。你可以寫成2.0/3,2.0/3.0,2/3.0,(float)2/3或者float a=2; a /= 3

都可以。

6樓:dn_海倫泰勒

在c++中輸出小數要定義精度

c++中定義的變數為double型,為什麼輸出的數值總是不正確這是為什麼,**如下

7樓:山水阿銳

您好,您試試這個:

sum = sum+(1.0/num);

joychen_

如果不成,再試試:

num的型別改為double

yy_神_eeee

8樓:yy_神

num的型別改為double

c++中double型數值計算結果為0為什麼輸出的不是0?

9樓:龍__鳳

#include

#include//加上標頭檔案

using namespace std;

void main()

10樓:匿名使用者

這是由於double型別的精度引起的。

在c/c++中,float和double型別,被稱為浮點型。

浮點型是c/c++中用來儲存實數的。而儲存的值,並不是實際值,而是近似值。

即,double型別和float型別儲存的值均不是準確值,而是一個和準確值接近的值。

這樣,在計算中,就會有精度缺失的情況出現,運算越多,這個精度缺失出現的概率越大。

當經過大量計算後,就可能出現結果與真實結果偏差比較大的情況,也就是實際獲得的結果並不準確。

11樓:匿名使用者

#include

#include

using namespace std;

void main()

12樓:匿名使用者

cout<< (fabs(n-0.0)<1.0e-3)<

c++輸出的double型資料裡面的e是什麼意思?

13樓:奇g哥

比如 1.23e 210 的意思是 1.23 x 10^210

如下 為什麼C語言讀取檔案中的資料並輸出時有亂碼出現?本來輸入的是數字,然後從檔案中讀取後就變漢字

估計是你文字的儲存格式問題。重新另存為一份utf 8格式的檔案。utf 8編碼格式中的數字佔用一個位元組。而ansi或其他字元是佔用兩個位元組的。c語言檔案輸出時,輸入資料後為什麼會出現亂碼 可能是輸入緩衝區之前未清空 使用這個函式將檔案緩衝區清空 memset buffer,0,sizeof bu...

c語言輸出結果是19為什麼

printf d n strlen p 是什麼dd?應該是printf d n s 吧?for i 0 i 4 i s aa i 1 對每行第2個數字求和,所以是19。aa 4 4 是一個4 x 4的矩陣i m1 m2 n 3 n 2 n 5 5 5 25 你可以把 define看成文字替換,就是在...

c語言a的輸出結果為什麼是 1,b的最後輸出結果為什麼是

資料在計算機中都是以補碼儲存的,a的補碼為0xffff,b的補碼為0xfffe。我這為寫著方便,用十六進位制寫,沒用二進位制寫,要不16個1看著都暈。d是按有符號整型輸出,此時認為a是個負數,根據0xffff來求該負數絕對值的原碼,為0x0001,輸出即為 1。u是按無符號型資料輸出,此時將b看作正...