件のコメントを表示1浮動小数点演算はランダムに誤差が乗るわけではありません。0.1の結果は(同一プロセッサーであれば)常に同じ値となります。0.1;のように演算に関わる数はすべて定数であることから、これらの演算の結果は全て一致します。誤差が生じるかというと、0.1という定数が正確ではなく、double型で表現できる最も近い値とされ、この時点で誤差が生じています。その上で10回加算することでその誤差が10倍に広がっているだけです。個の銅バッジ確かに例はリテラルの時点で誤差が入っていて、+=で計算誤差は出ないですね。|-1技術的な興味は理解できますが、実務で浮動小数点数の等値式を使う気にはなりません。できることなら避けるか、幅を持たせて比較します。仮に、今の時点で「言語レベルやコンパイラレベルで保証されている」としても、将来にわたって保証されるかは疑問であると考えるからです。他言語に移植することや他のコンパイルに変わることを考えると、その仕様をあてにするは危険だと思います。整数ですら等値式を使うことがためらわれます。i++)と書く理由は単に簡潔さだけではないと考えます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。