-1
ここ
は私のコードの一部であり、異なる出力を与える:2のコンピュータは(私はそれを象徴)
#include <iostream>
#include <cmath>
#include <iomanip>
int main()
{
double pi = M_PI;
long long x = 12026548095792;
std::cout << std::fixed << std::setprecision(8) << pi * x;
}
マイコンピュータの出力だった:
37782515145784.46100000
する(Windows 7のx64プロセッサ:インテル(Rを)Core(TM)i3-2328M CPU @ 2.20GHz)。
しかし、私はSPOJに私のコードを実行したときに、出力が
37782515145784.46093750
た(クラスタ:キューブ(インテルG860))。
この問題の説明にお役立てください。
update:コードブロック16.01、gccバージョン5.3.0を使用しました。
コンパイルフラグも投稿してください – Mikhail
おそらくhttp://christian-seiler.de/projekte/fpmath/やhttps://gcc.gnu.org/wiki/FloatingPointMathのようなものがどうなるか説明しています。問題の修正方法は、使用するコンパイラとターゲットプラットフォームのセットによって異なります。 – SergGr
ありがとうございました。 –