我有一个奇怪的行为
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()
) 时,我得到true
(这是直观且合乎逻辑的)
那么,任何人都可以向我解释这种输出差异吗?