why does std::numeric_limits<float>::min() differ in behavior when streamed to output with different functions?
问题 I got a weird behaviour with std::numeric_limits<float>::min() when I call std::cout I get an output value of 1.17549e-38 in contrast when I use printf("%f", std::numeric_limits<float>::min()); I get a value of 0.000000. note that when I evaluate ( std::numeric_limits<float>::min() == std::numeric_limits<float>::min() ) I get true (which is intuitive and logical) so, can any one explain to me this difference in output? 回答1: cppreference for numeric_limits: std::numeric_limits<float>::min()