@1Danshin1

Как найти машинную бесконечность?

Для используемого формата числа с плавающей запятой (ФПЗ) количество бит, отведенных в данном формате под мантиссу (с учетом бита, отводимого под знак), равно 29, а количество бит, отведенных в данном формате под порядок (с учетом бита, отводимого под знак), равно 14. Тогда порядок машинной бесконечности при использовании данного ФПЗ составит ...

Например: машинная бесконечность равна примерно 0,12*10^75

Ответ: 75

Никак не могу понять, как найти машинную бесконечность с разной разрядность, в интернете только код, в котором находят методом перебора машинную бесконечность для своей разрядность.
  • Вопрос задан
  • 362 просмотра
Решения вопроса 2
@Mercury13
Программист на «си с крестами» и не только
Важный вопрос: есть ли неявная единица и денормализованные числа?
Считаем, что всё-таки есть, порядок несмещённый, записан дополнительным кодом, денормализованное число записывается 10…00 в порядке. (А то всяко бывает, в нашем родном float порядок смещён на 01…11).
Тогда максимальное число, которое можно записать, равняется 1,1…1112·22^13−1.
Ну а бесконечность — примерно 2·22^13−1 = 22^13.
Wolfram Alpha говорит, что это 1,091·102466.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Количество бит под мантиссу с учётом знака - 14.
Максимальное значение мантиссы - 213-1
Максимальное значение числа - 1.(1) * 2213-1 < 2 * 2213-1 = 2213 = X ≈ 1.0907 * 102466
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы