gpt4 book ai didi

c++ - 如何确保 Windows 和 Linux 上的浮点行为相同?

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:14 25 4
gpt4 key购买 nike

我有一个软件可以对 double 进行大量计算,它必须在 linux 和 windows 上运行。我不关心使用什么行为(越快越好),但我必须在两个平台上获得相同的结果。

我在 Windows 10 上使用 x86_64-w64-mingw32 gcc 版本 4.9.2 进行编译。以及 xubuntu 上的 x86_64-linux-gnu gcc 4.9.3。

我试过使用以下编译选项: -基础数学 -fno-舍入-数学 -float-store在两个系统上,似乎没有任何效果。

我对浮点表示的复杂性略有了解,但强制跨平台软件执行相同行为真的有那么难吗?

最佳答案

要有相同的行为,至少你必须:

1- 标准化你的类型,不要从 double 切换到 long double例如仅使用唯一类型 long double2- 如果您有任何常量,请使用与您的类型相关的浮点文字:

如果你选择long double,你的constante必须有后缀l或L例如:0.5L

关于c++ - 如何确保 Windows 和 Linux 上的浮点行为相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49410717/

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