gpt4 book ai didi

C++ float 的区别

转载 作者:行者123 更新时间:2023-12-01 18:04:01 25 4
gpt4 key购买 nike

我试图在 2 个不同的平台上获得完全相同的结果,即 Solaris 和 Linux(sun-studio 与 GCC)。整个代码使用双数据类型。但是当我打印输出时,我看到 float 的差异(例如小数点后第 20 位)。

我需要知道的是我是否可以设置一些编译器标志以使 GCC 和 sun-studio 编译器表现相同。附图显示了 Double 数据类型的差异。左侧是 GCC 的输出,另一侧是 sun-studio 的输出。

enter image description here

最佳答案

主要问题来自于此:

I am trying to get exact same results on 2 different platform

我们不保证您在两个不同的平台上会获得相同的结果。它们在实现 float 操作的方式上可能有很多不同。

解决您的问题的一个方法是:定点运算。

另外,看看这些答案:

Cross Platform Floating Point Consistency

Are IEEE float and double guaranteed to be the same size on any OS?

它们是您了解正在发生的事情的一个很好的开始。

关于C++ float 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59730374/

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