я получил странное поведение сПочему std :: numeric_limits <float> :: min() отличаются поведением при потоковой передаче на выходе с различными функциями?
std::numeric_limits<float>::min()
, когда я называю станд :: соиЬ я получить выходное значение 1.17549e-38
в отличие, когда я использую
printf("%f", std::numeric_limits<float>::min());
Я получаю значение 0,000000.
обратите внимание, что, когда я оцениваю (std::numeric_limits<float>::min() == std::numeric_limits<float>::min()
) я получаю true
(который является интуитивно понятным и логичным)
так, может ли один объяснить мне эту разницу в выходе?
любое предложение зафиксировать этот выход с Printf? –
Вместо этого используйте '% g' или'% e'. –