我已經開始學習c語言,但問題是我對如何使用浮點數字感到困惑。我使用Xcode作爲IDE。以下是這讓我結果弄得:c中的浮點數[Xcode IDE]
float x1 = 1.123456789123456789f;
double x2 = 1.123456789123456789f;
float x3 = 987654321.123456789f;
double x4 = 987654321.123456789f;
printf("x1 = %.20f\n", x1);
printf("x2 = %.20f\n", x2);
printf("x3 = %10.10f\n", x3);
printf("x4 = %10.10f\n", x4);
輸出是:
x1 = 1.12345683574676513672 x2 = 1.12345683574676513672 x3 = 987654336.0000000000 x4 = 987654336.0000000000
的問題是,爲什麼x1
,x2
失去了浮動的數字1.12345678
後?爲什麼和x4
被截斷?
此外,x3和x4會產生錯誤的十進制數 - 987654336而不是987654321 – Centurion 2011-04-22 11:32:50