#architecture #computer-science
#архитектура #информатика
Вопрос:
Итак, вот что у нас есть, пользовательская настройка на основе IEEE:
Рассмотрим пятиразрядное представление с плавающей запятой на основе формата IEEE с плавающей запятой с 1 знаковым битом, двумя битами экспоненты и 2 значащими битами.
И выбор битов, которые необходимо преобразовать в двоичный код (включая ответы):
0 00 00 = 0
0 00 01 = 0.01
0 00 10 = 0.10
0 00 11 = 0.11
0 01 00 = 1.00
0 01 01 = 1.01
0 01 10 = 1.10
Способ, которым я пытался вычислить вышеизложенное, был следующим:
2^ (2-1) -1 = 1 (смещение)
для второго это будет означать 0 -1 (поскольку поле экспоненты равно нулю), так что 0.1 * 10-1 = .01. единственная проблема в том, что мы, похоже, не добавляем неявную ведущую 1. почему бы и нет? и все же кажется, что для значений с положительным показателем (см. 5 и ниже) мы действительно добавляем ведущий показатель. немного озадачен тем, чего мне не хватает.
большое спасибо!
Комментарии:
1. Итак, о чем вы спрашиваете? Учитывая все 32 возможности, какие числа с плавающей запятой они представляют?
2. я просто пытаюсь выяснить, как были вычислены эти двоичные дроби, кажется, я не могу вернуться к вычислениям должным образом. интересно, не упускаю ли я чего-нибудь
3. Значит, эти значения такие, какими они должны быть?
4. да. двоичные дроби справа от = являются правильными ответами
Ответ №1:
Чего вам не хватает, так это того, что в форматах IEEE-754 значения, которые имеют нулевой показатель, но ненулевое значащее поле, называемые денормалами, не имеют неявного начального бита.
Например, в IEEE single precision наименьшее положительное нормальное число равно:
0x00800000 = 0x1.0 * 2**-126
следующее меньшее число является наибольшим денормальным:
0x007fffff = 0x0.fffffe * 2**-126
наименьшее положительное число является наименьшим денормальным:
0x00000001 = 0x0.000002 * 2**-126
Обратите внимание, что денормалы не только не имеют неявного бита, но и имеют тот же показатель, что и элементы в следующем большем бинаде, даже если их закодированный показатель на единицу меньше (ноль против единицы).
Ответ №2:
Вероятно, вы заменили показатель степени и столбец мантиссы. Может быть, потому, что это выглядело так уместно.