gpt4 book ai didi

c++ - double 值的不精确性是否保证在同一台机器上是一致的?

转载 作者:行者123 更新时间:2023-11-30 01:44:10 24 4
gpt4 key购买 nike

我们知道 double 会随着小数位数的增加而降低其值的精度。但是,如果我在同一台机器上两次使用相同的 double 值,我是否可以保证具有相同的不精确性?例如:

double d1 = 123.456;//actually becomes 123.45600001
double d2 = 123.456;//is guaranteed to become 123.45600001?

为了简单起见,让我们坚持使用 C++。

最佳答案

不,您没有此保证。 C++ 实现不受 IEEE 标准的约束,可以选择他们想要的任何二进制表示。

虽然他们不太可能自己发明,但他们通常在表示“不可表示”数字的方式上有所波动(即使在同一供应商内)——它们可以用更大的数字或更小的数字来表示——而这种表示更改(我相信,即使是相同 gcc 的不同 float 数学选项也会影响这一点)。

关于c++ - double 值的不精确性是否保证在同一台机器上是一致的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36605017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com