2016-06-14 2 views
0

учитель сказал нам, что двоичное число для экземпляра 1000 0001 имеет 2 значения. один представляет собой -127 (подписанный), который составляет от -127 до 127 , а другой - беззнаковое число, от 0 до 256Интерпретация подписанных и неподписанных номеров

Если у меня есть номер в двоичном формате, например 1000 0001, калькулятор показывает только подписанное число (-127). как я могу узнать, что представляет собой число без знака, которое представляет это двоичное число?

ответ

3

A подписанный и беззнаковый номер имеют точно такие же биты!

В калькуляторе вы можете отображать его как hex (0xff). Это зависит от вас, хотите ли вы интерпретировать шестнадцатеричные цифры и «подписанные» или «беззнаковые».

В ассемблере x86 вы можете проверить бит знака в флажках состояния CPU.

Заканчивать этот урок:

Signed vs Unsigned Numbers

+0

Мой вопрос в том, есть ли у меня конкретное двоичное число, например 1000 0001, как я могу узнать 2 interaptions для этого числа? – Alona

+1

1) Пожалуйста, прочитайте ссылку, которую я привел. 2) Пожалуйста, поймите, что в терминах «двоичной арифметики», * НЕТ РАЗЛИЧИЯ *. 3) С точки зрения умственного преобразования между подписанным и неподписанным: a) UNSIGNED: просто добавьте биты (0x81 == 129); b) ПОДПИСАНО: если высокий бит установлен, затем SUBTRACT оставшиеся бит от 128 (здесь 128-1 -> -127). – paulsm4

0

Беззнаковых чисел легче всего интерпретировать из двоичных; просто добавьте все значения, которые представляют биты (2^7+2^0 в случае номера 1000 0001 = 129).

Подписанный интерпретация в значительной степени то же самое, за один дополнительный шаг первым, за исключением: Если ведущая цифра 1, то вы инвертировать все биты (в данном случае 0111 1110) и добавить 1 к результату, чтобы получить (абсолютное) значение отрицательного числа (в данном случае 0111 1111 = 127)

Чтобы проверить, что вы сделали это правильно, повторите ту же операцию, и вы должны будете получить исходный номер.

Смежные вопросы