Я пытаюсь сделать следующее разделение: 1/16777216
, что равно 5.96046448e-8
, но это:Float в C++ меньший диапазон, чем IEEE 754
printf("number: %f \n", 1.0f/16777216.0f);
ВСЕГДА дает мне 0.00000
вместо ответа я бы ожидать. Я искал диапазоны, потому что я хорошо подумал, что может быть проблемой, что плавать просто для того, чтобы смазать для обработки такого числа, но IEEE 754 заявляет, что это ±1.18×10−38
.
Я что-то упустил, и почему результат не ожидаемый?
ОП явно спрашивал о C++. Как в заголовке, так и в тегах. Не знаю, почему это было изменено на C. 'printf' является частью стандартной библиотеки C++. –