Я делаю задание для одного из моих классов, и я застрял на этих двух вопросах:
- Express десятичное значение -412,8 с использованием двоичной записи с плавающей запятой с использованием 11 битов дроби для значение и 3 цифры для показателя степени без смещения
Я думаю, что мне удалось решить его, но мой показатель имеет 4 бита, а не 3. Я не совсем понимаю, как можно преобразовать -412,8 в плавающее обозначение точки с использованием только 3-битных показателей. Вот как я пытался ее решить:
Прежде всего, запись с плавающей запятой состоит из трех частей. Часть знака, 0 для положительных чисел и 1 для отрицательных чисел, часть экспоненты и, наконец, мантисса. Мантисса в этом случае включает ведущий 1. Поскольку число отрицательное, знаковый бит будет равен 1. Для мантиссы я сначала преобразовал 412,8 в двоичную, что дало мне 110011100.11, а затем сместил десятичную точку влево 8 раз, что дает мне 1.1001110011. Мантисса, следовательно, 1100 1110 011 (11 бит, как спросил учитель). Наконец, показатель будет равен 2 ^ 8, так как я сдвинул десятичное число 8 раз вправо. 8 - это 1000 в двоичном виде. Итак, правильно ли я предположить, что моя запись с плавающей точкой должна быть 1 1000 11001110011?
Представляет десятичное число 16,1875 × 2-134 в формате IEEE 754 одинарной точности. Я полностью застрял на этом. Я не знаю, как конвертировать это число. Когда я ввожу его в вольфраме, десятичное число выходит за пределы формата с одинарной точностью. Я знаю, что знаковый бит будет равен 0, поскольку число положительное. Я не знаю, что такое мантисса и как ее найти. Я также не знаю, как найти экспоненту. Может кто-нибудь направить меня через эту проблему? Спасибо.