C ++为什么最多64位双精度数有308位数字?

问题描述 投票:-1回答:1

在我的环境中(Win10 64位,VC ++ 2019和32位项目),sizeof(double)为8个字节,最大值应为1.84e19。但是std::numeric_limits<double>::max()1.79e308附近。

为什么它们如此不同?

c++
1个回答
0
投票

C ++为什么最多64位双精度数有308位数字?

在我的环境(Win10 64位)中>

因为您的系统使用符合IEEE 754规范的硬件。该文档规定64位二进制浮点的最大有限可表示值约为1.8 E308。

© www.soinside.com 2019 - 2024. All rights reserved.