Какое первое целое число, которое IEEE 754 не может точно представить?

Для ясности, если я использую язык, который реализует плавающие объекты IEE 754, и я объявляю:

float f0 = 0.f;
float f1 = 1.f;

... а затем распечатать их обратно, я получу 0,0000 и 1,0000 - точно.

Но IEEE 754 не способен представлять все числа вдоль реальной линии. Близко к нулю, «пробелы» малы; по мере того как вы уходите дальше, промежутки увеличиваются.

Итак, мой вопрос:для IEEE 754 с плавающей запятой, какое первое (ближайшее к нулю) целое число не может быть точно представлено? На данный момент меня интересуют только 32-битные числа с плавающей запятой, хотя мне было бы интересно услышать ответ на 64-битную версию, если кто-то ее даст!

Я думал, что это будет так же просто, как вычисление 2bits_of_mantissa и добавление 1, гдеbits_of_mantissa сколько бит выставляет стандарт. Я сделал это для 32-разрядных операций с плавающей запятой на моей машине (MSVC ++, Win64), и это выглядело нормально.

Ответы на вопрос(2)

Ваш ответ на вопрос