Мне было предложено поработать над следующим вопросом со следующей спецификацией/правилами:
Номера хранятся в 16 бит, разделенных слева направо, следующим образом:
1-значный знак знака, который должен быть установлен для отрицательного номера и в противном случае ясно.
7 бит показатель проводится в Excess 63
8 бит мантиссы, нормированная на 1.x только дробной части сохраняются - как в стандарте IEEE 754
Давать ответы в шестнадцатеричном формате, как бы число -18 будет представлено в этой системе ?десятичная система с плавающей запятой.
ответ получил это: 11000011 00100000 (или C320 в шестнадцатеричной)
, используя следующий метод:
-18 десятичного является отрицательным числом, поэтому мы знаковый бит установлен в 1.
18 в двоичной системе будет be 0010010. Это мы можем отметить как 10010. Мы знаем, что работает с правой частью десятичной точки, но в этом случае у нас нет десятичной точки или фракций, поэтому мы отмечаем 0000 0000, так как нет фракций. Теперь мы записываем двоичный код из 18 и оставшиеся нули (которые необязательно требуются) и разделяем их на десятичную точку, как показано ниже:
10010.00000000
Теперь мы нормализуем это в форме 1.x, перемещая десятичную точку и помещая его между первым и вторым числом (считая количество раз, когда мы перемещаем десятичную точку до тех пор, пока она не достигнет этой области). Результат теперь равен 1.001000000000 x 2^4, и мы также знаем, что десятичная точка была перемещена в 4 раза, и теперь мы будем считать нашим показателем экспоненты. Используемая нами система с плавающей запятой имеет 7-битный показатель и использует избыток 63. Показатель 4 в избытке 63, который будет равен 63 + 4 = 67, и это в 7-битном двоичном выражении отображается как 1000011.
Битовый бит: 1 (-ve)
Экспонент: 1000011
мантисса является 00100 ...
двоичное представление: 11000011 00100000 (или C320 в шестнадцатеричной)
пожалуйста, дайте мне знать, если это правильно или, если я сделал это неправильно и какие изменения могут быть применены. спасибо парню :)
Это похоже на один из ваших предыдущих вопросов http://stackoverflow.com/questions/21029217/decimal-to-floating-point-conversion-using-16-bit. –
Не знаете, почему кто-то голосует за вопрос. Я только пытался подтвердить, был ли мой ответ правильным, что на самом деле было. Не нужно быть отрицательным. – ComputerScienceStudent