私のコードは非常に単純です
double d = 405, g = 9.8, v = 63;
double r = d * g / (v * v);
printf("%s\n",(r>1.0)?"GT":"LE");
これが私の結果です
- g++-mingw32-v4.8.1: LE (結果は確かに EQ です)
- ubuntuのg ++:GT(この結果は私の友人からのものです。手元にLinuxがありません)
- VC++ 11 : GT
- C# (.Net 4.5) : GT
- Python v2.7.3 :GT (これも私の友人からのものです)
- Haskell (GHCi v7.6.3) : GT
g++-mingw、vc++、c#、haskell はすべて i7-2630QM を搭載したマシンで実行されています
Python-win32 バージョンは私の友人から入手したもので、彼は g++-mingw-3.4.2 からLEも取得しています。
そして、ubuntuバージョンは別の友人からのものです...
g++ だけが LE を提供し、他はすべて GT です。
どちらが間違っているか、g ++かそれ以外かを知りたいだけです。
または、IEEE 754 では、GT または LE のどちらである必要がありますか?