Знак дополнения 2 со знаком двоичного числа

У меня есть вопрос о двоичных числах со знаком.

Учитывая 4-битное число, скажем, 1010 (=10 в десятичном виде), и я прошу вас сказать, какое число стоит за этим двоичным кодом. Диапазоны номеров:

Без подписи -> 0...+15

Подписано -> -8... + 7

                                       MY THINKING:

1) Без знака: я знаю, что это 2^3 + 2^1 = 8 + 2 = 10 (я просто добавляю соответствующие 2 степени, где бит равен 1)

2) Подпись: я знаю, что каждый двоичный код на 2^n чисел выше или ниже нашего заданного кода, и мы видим, что MSbit равен 1, поэтому число является отрицательным. В этом случае это будет: 10-16 = -6. Итак, 1010 = 10(без знака) = -6(со знаком)

Но что меня беспокоит, так это то, что в подписанном коде MSbit показывает знак числа (1 = отрицательный, 0 = положительный (включая 0)). Тогда я мог бы сказать, что "1010 - отрицательное число, и мое действительное число - все, кроме MSbit (010), который дает нам 2.SO -2, что неправильно.

0 ответов

Другие вопросы по тегам