наибольшее отрицательное действительное число, представленное с использованием IEEE с плавающей запятой

Итак, я хочу найти наибольшее отрицательное действительное число, которое может быть представлено с помощью числа с плавающей запятой IEEE-754.

Пока я знаю, что знаковый бит должен быть равен 1, мантисса - 11111111, а показатель степени - 255. Я просто вставляю их в формулу и получаю -1,11111111 x 2 ^ 128.

Ответ: -3,403 x 10 ^ 38.

Как мне преобразовать то, что у меня есть, в форму ответа?


person user2998413    schedule 18.04.2015    source источник
comment
Непонятно, о чем вы спрашиваете. Что такое форма ответа?   -  person DrKoch    schedule 18.04.2015
comment
Чего ты ждешь? Код? или правильный ответ? или алгоритм?   -  person Arun A S    schedule 18.04.2015
comment
... а мантисса - 11111111, а показатель - 255. ... неверно. и -1.11111111 (base2) x 2 ^ 128 - ›-6.792355 ... e + 38   -  person chux - Reinstate Monica    schedule 18.04.2015
comment
просто посчитайте. Умножьте то, что вы нашли - если вы не можете сделать в памяти, используйте свой калькулятор и введите -1,11111111 x 2 ^ 128. Это даст вам другой номер, чем вы ожидали.   -  person mfro    schedule 18.04.2015
comment
255 показатель степени используется для бесконечности и NaN.   -  person gnasher729    schedule 18.04.2015


Ответы (1)


Из этой статьи в Википедии формула для вычисления значения из битового шаблона выглядит следующим образом:

введите описание изображения здесь

Наибольшее отрицательное число будет иметь

  • знаковый бит = 1
  • мантисса = все единицы
  • показатель степени = 254

Обратите внимание, что показатель степени 255 зарезервирован для особых случаев, таких как бесконечность и NAN.

Подставляя эти значения в формулу, мы получаем

введите описание изображения здесь

который можно записать как

value = (-1)(1 + 0.5 + 0.25 + 0.125 + ... + 2^-23)(2^127)
      = (-1)(2)(2^127)  // since the sum is approximately 2
      = -(2^128)    
      = -3.403 x 10^38  // says my calculator    
person user3386109    schedule 18.04.2015
comment
@ user2998413: Мне кажется, это неплохо. Как вы думаете, что в этом плохого? - person Mark Dickinson; 18.04.2015
comment
@ user2998413 Помимо того, что, возможно, рассматривает наибольшее отрицательное действительное число как -INF, этот ответ хорошо описывает поиск наибольшего конечного отрицательного числа bianry32. IEEE-754 с плавающей запятой действительно имеет другие типы с плавающей запятой с конечными значениями около -10*pow(10,6144). Помимо этого, ваш комментарий требует объяснения. - person chux - Reinstate Monica; 18.04.2015
comment
@ user2998413 Трудно улучшить ответ, если вы не скажете мне, почему вы считаете это неправильным. - person user3386109; 18.04.2015
comment
Кто-нибудь из них зарезервирован? Обычно это первое и последнее - person SparkleGoat; 13.03.2019