有谁知道如何找出long double的精度在特定平台上?我出现后17个十进制数字,这是一样的,当我刚用double正在失去精度。我希望得到更多,因为double与我的平台上的8个字节来表示,而long double是12个字节。

在你问之前,这是项目欧拉,所以是我的的需要超过17位。 :)

修改感谢您的快速回复。我只是确认,我只能用我的系统上long double拿到18个十进制数字。

有帮助吗?

解决方案

您可以找到与std::numeric_limits

#include <iostream>     // std::cout
#include <limits>       // std::numeric_limits
int main(){
    std::cout << std::numeric_limits<long double>::digits10 << std::endl;
}

其他提示

可以使用 。具体做法是:

LDBL_DIG
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top