當我存儲12位小數的浮點值後高達6小數地方它是表示固定值。如果它是垃圾值那麼它應該是爲不同的編譯器不同,但是當我看到的輸出在我的書,幾乎都嘗試過,兩者都是相同的結果。浮點值
#include <stdio.h>
int main(void)
{
float a = 1.234567890000;
printf("%.12f\n", a);
return 0;
}
OUTPUT:
1.234567880630 // In my book it also represents same output.
你的問題是什麼?爲什麼你的輸出與你的輸入不符?因爲你輸入的是10進制數,但是計算機將它存儲爲2進制數,並且'float'中沒有足夠的分辨率來準確地獲得所有12位小數。 – 2012-08-06 17:13:35
請注意,您從'double'文字開始,將其轉換爲'float'進行存儲,然後將其轉換回'double'進行打印。 – 2012-08-06 17:23:03