- 此问题在此处已有答案**:
What is the meaning of numeric_limits::digits10(5个答案)
5天前关闭。
根据我的理解(关于我在互联网上看到的),std::numeric_limits<double>::digits10
(对于double
,它等于15
)似乎表示double
可以处理的位数,例如1.23456789012345,而不是1.234567890123456
另一方面,双精度浮点格式的范围将一直到1.8*10^+308
,它似乎表示一个不只15位的数字。
不连贯在哪里?
3条答案
按热度按时间b1payxdu1#
...
std::numeric_limits<double>::digits10
(对于double
等于15)表示双精度型可以处理的位数...更准确地说,它是without loss of precision可以存储的有效位数。
Python中的示例:
eqqqjvef2#
std::numeric_limits::digits10:可以不加改变地表示的位数(十进制)。
fjaof16o3#
一个是 * 有效 * 位数,另一个是可表示的数字的 * 范围 *,因此,你可以有:
但不是
其示出了可以表示的 * 有效 * 位
15
和 * 范围 *10^308
。