Perlに単純なforループがあります
for ($i=0; $i <= 360; $i += 0.01)
{
print "$i ";
}
このコードを実行すると、次の出力が得られるのはなぜですか。0.81に達すると、突然、小数点以下の桁数が増え始めます。この問題を回避するために単純に切り上げることができることは知っていますが、なぜそれが発生するのか疑問に思いました。0.01の増分は、まったく気が狂っているようには見えません。
0.77
0.78
0.79
0.8
0.81
0.820000000000001
0.830000000000001
0.840000000000001
0.850000000000001
0.860000000000001
0.870000000000001