Какое максимальное нечетное число может представлять число с плавающей точкой - PullRequest
0 голосов
/ 13 мая 2018

У меня вопрос по поводу плавающей запятой. вопрос: Данный формат с плавающей запятой с одним знаковым битом, 8 экспоненциальными битами и 23 биты дроби. Какое наибольшее нечетное число с плавающей точкой может быть точно представлено?

Я не уверен, но я думаю, что это = 2 ^ (биты мантиссы + 1) - 1

надеюсь, что кто-то может помочь мне с вопросом.

1 Ответ

0 голосов
/ 13 мая 2018

Чтобы прояснить терминологию, число битов в значениии основного 32-разрядного двоичного формата IEEE-754 с плавающей запятой равно 24. 23 - это число битов в поле, используемом для кодирования большей части значений. Дополнительный бит кодируется через поле экспоненты. Число битов в математическом значении равно 24.

Таким образом, наибольшее значение, которое может иметь сигандиал, при масштабировании таким образом, чтобы его младший бит представлял 2 0 , составляло 2 24 -1. Это конечно странно. Если показатель степени установлен для масштабирования числа выше, то у него нет бита, представляющего нечетное значение, поэтому представленное число обязательно является четным. Если показатель степени настроен на масштабирование числа ниже, он не может быть больше 2 24 -1. Следовательно, 2 24 -1 - это наибольшее нечетное целое число, представляемое в базовом 32-битном двоичном формате IEEE-754.

Как правило, если формат с плавающей запятой использует основание b , имеет p base- b цифр и имеет максимальный показатель степени E так, что максимальное представимое значение ( b p -1) × b E , затем:

  • Если b нечетно, самое большое нечетное представимое целое число ( b p -2) × b E .
  • Если b является четным, наибольшее нечетное целое представимое число ( b p -1) × b 0 = b p -1.

(При условии нормальных характеристик, таких как E является положительным, а p не менее 1.)

...