首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++浮点差

C++浮点差
EN

Stack Overflow用户
提问于 2020-01-14 16:55:55
回答 1查看 271关注 0票数 3

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

我需要知道的是,我是否可以设置一些编译器标志,使GCC和sun-studio编译器的行为相同。附加的图像在双精度数据类型中显示不同。左边是GCC的输出,另一个是sun-studio的输出。

EN

回答 1

Stack Overflow用户

发布于 2020-01-14 17:12:32

主要问题来自于此:

我正在尝试在两个不同的平台上获得完全相同的结果

您不能保证在两个不同的平台上会有相同的结果。它们在实现浮点运算的方式上可能有很多不同之处。

您的问题的一个解决方案:定点算术。

另外,看看这些答案:

Cross Platform Floating Point Consistency

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

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

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59730374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档