我正试图在两个不同的平台上获得完全相同的结果,即Solaris和Linux(sun-studio vs GCC)。整个代码使用双精度数据类型。但当我打印输出时,我看到浮点数中的差异(如小数点后20位)。
我需要知道的是,我是否可以设置一些编译器标志,使GCC和sun-studio编译器的行为相同。附加的图像在双精度数据类型中显示不同。
我试图用C语言执行double ans = pow(2,1000),但我发现无论我如何尝试改变数据类型,ans都不能正确打印。然而,我读到(实际上,在页面的最底部),如果在Linux计算机上运行相同的东西,它将正确打印。我知道在我的MinGW文件夹的limits.h文件中对char、int和long long施加的限制,但是double和float的限制在哪里?在不同的操作系统或架构之间,这些是否会有所不同?编辑:#inc