私は困惑しています。データ型を使用するとこのテストに合格するが、double
データ型を使用すると失敗する理由については説明がありませんfloat
。次のコード スニペットを検討してください。
float total = 0.00;
for ( int i = 0; i < 100; i++ ) total += 0.01;
1.00と予想total
されますが、0.99 です。これはなぜですか?GCC と clang の両方でコンパイルしましたが、両方のコンパイラで同じ結果が得られました。