0

このコードを実行しましたが、出力が予想とは異なりました。出力:

c = 1324
v = 1324.99

の場合、出力は 1324.987 になるはずですvvデータが出力と異なるのはなぜですか?

Windows 8 32 で code lite を使用しています。

#include <iostream>
using namespace std;
int main()
{
    double v = 1324.987;
    int n;
    n = int (v);
    cout << "c = " << n << endl;
    cout << "v = " << v << endl;
    return 0;
}
4

2 に答える 2

4

浮動小数点型は、固定幅表現の結果として丸め誤差を継承します。詳細については、「すべてのコンピューター科学者が浮動小数点演算について知っておくべきこと」を参照してください。

于 2015-06-20T12:30:53.090 に答える