私の問題:
次のC++スニペットの結果を理解してみてください。
#include <iostream>
int main(int argc, char* argv[])
{
double a = 5.1;
int b = a * 100;
std::cout << b << std::endl;
double c = 6.1;
int d = c * 100;
std::cout << d << std::endl;
}
Windowsでは、上記のコードをVS2008 SP1でコンパイルして実行すると、次のようになります。
509
610
Linuxを使用しているときに、g ++を使用して同じコードをコンパイルして実行し、次のようにします。
509
609
コードの問題は何ですか?
申し訳ありませんが、問題のタイトルを見つけようとしたので、検索することができました。ただし、この問題に名前を付けることはできないため、ここで直接説明します。
アドバイスをいただければ幸いです。