C++双数据类型问题

Upe*_*dra 2 c++ double

让我们考虑以下示例.double x = 1234597000.0

当我在DB中保存x的值时,它被存储为1234600000.当我在程序中进行减法操作时,它被视为1234600000.你能帮我理解那里发生了什么吗?

我的系统是solaris并使用Sun Studio C++(CC)编译器编译程序.

提前致谢.

yan*_*yan 6

你正在遇到IEEE浮点编码的陷阱.这个问题出现了很多.请参阅每个计算机科学家应该知道的关于浮点运算的内容