我有一个奇怪的行为
std::numeric_limits<float>::min()
当我调用 std::cout 时,我得到的输出值为 1.17549e-38
相反,当我使用
printf("%f", std::numeric_limits<float>::min());
我得到的值为 0.000000。
请注意,当我评估(std::numeric_limits<float>::min() == std::numeric_limits<float>::min()
) I get true
(这是直观和逻辑的)
那么,有人可以向我解释一下输出的这种差异吗?
numeric_limits 的 cppreference http://en.cppreference.com/w/cpp/types/numeric_limits:
std::numeric_limits<float>::min()
回报FLT_MIN
.
返回值(不是0
实际上)使用显示%f
实际上被格式化为固定的小数位数。这'%f'
format 以固定格式打印 6 位小数。
您可以使用 :
%e=gives the scientific notation
%g=handles large floating numbers
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)