C程序float f = 123.456;爲什麼內存中的f是「123.456001」。C程序float f = 123.456;爲什麼內存中的f是「123.456001」
#include<stdio.h>
main()
{
float f = 123.456;
printf("%f**%10.2f**%.3f\n", f, f, f);
printf("%f**%e**%g**\n", f, f, f);
}
123.456001
爲什麼0.000001?
http://floating-point-gui.de/ –
它甚至不是123.456001,但有在'1'之後會有更多的小數。 –
[每個計算機科學家都應該知道的浮點算術](http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) – glglgl