Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。0;}これらが通ることは言語レベルやコンパイラレベルで保証されているのでしょうか。サンプルはCで書いていますが、様々な言語でどうなっているのか知りたいです。C,C++,C#,Python,JavaScript,Rustに興味があります。個の銅バッジ関数one()の実装は最初のコードと同じであるという前提でよろしいですか?NaNを返したり、呼び出しの度にランダムに値を返したりする関数であれば、真にならない事例を示せてしまうからです。元は同じ値だったり全く同じ処理だったりしても等号が成り立たない事があるか、という事です。採用しているので、よほど古いないしは特殊な機械を除き同じ処理をさせれば同じ結果を得ます。「キャッシュ」は文字通り「隠されている代物」なので、あってもなくても同じ結果が出なければなりません。キャッシュの有無によって結果が異なるのであれば、それは「隠されていない」のでキャッシュと呼んではいけないっす。内部表現できる数値は正確ですので、それら同士の演算結果は正確で、つまり必ず同じ結果が出ます。丸めモードが違うと結果が異なることはありますが、それは丸めモードを指定していない(機器固有の初期状態に依存している)プログラムの不備です。誤差は発生しない誤差が発生するのは入出力の際に10進数表記と2進数表記を変換するときコンピュータにとって与えられた値(の下位ビット)に意味があるかないかはどうでもよくて、コンピュータは単に演算するだけです。どんな演算であれ(バグがない限り)同じ入力に対しては必ず同じ結果が得られます。下位ビットに意味があるか無いかを決めるのは人間。「誤差」なるものを意味付けするのも人間です。逆に言えば、その辺の事情を理解せずに「誤差」を論じても無意味っす。10進数表記文字列を浮動小数点数にする、あるいはその逆を行う関数が、その内部実装が違うことによって精度が違う可能性はあります。入力から出力まで二進数で行い精度落ちを排除したなら以下略。気分次第で結果が違うなんてことはありません。丸めモードを変更する関数を自分で呼び出すということは、丸めモードを意識的に変更したわけで、結果は違って当然(違うように変えたのだから)。この丸めモードはプロセスやスレッドごとに保持できるようになっているので、他プロセスやスレッドが変更しても自分の丸めモードが勝手に変わることはありません。1:06それを誤差と呼ぶかなんと呼ぶか次第っすよね。そもそも精度のない桁を演算した結果には意味が無いだけのことで。その意味のない場所にも同じ値が結果として得られるのは重要っす。1:45この質問内では、丸め誤差は誤差である、と言うことでお願いします。質問の1,2に関しては必ずパスするということで良いですね。丸めモードに関して軽く検索したところ、専用レジスタの値によって変更することができるらしく、つまり2回の呼び出しの間でモードが変えられて違う結果が出ることもあり得るのでは、と思ったのですがどうでしょう。さん、おお、ちゃんと起こりえるんですね。