double d = 0.0;
for (int i = 0; i < 10; i++)
{
d = d+0.1;
}
System.out.println(d);
これは、「驚き最小の原則」のどこかで読んだ例です。
コードが0.999999999を返す理由に興味があり、dのデータ型をfloatに変更すると、1.000001が得られます。そのような行動の背後にある理由は何ですか。
double d = 0.0;
for (int i = 0; i < 10; i++)
{
d = d+0.1;
}
System.out.println(d);
これは、「驚き最小の原則」のどこかで読んだ例です。
コードが0.999999999を返す理由に興味があり、dのデータ型をfloatに変更すると、1.000001が得られます。そのような行動の背後にある理由は何ですか。