Это больше вопрос hw, но я не могу понять это. Я думал, что это будет 214, но из-за первого бит слева я не уверен.Что такое десятичное значение для 8-разрядного номера дополнения 11010110?
ответ
Поскольку это номер дополнения 2, первый бит является одним из них означает, что это отрицательное число.
Значение 214 - 256 = -42.
Его также можно вычислить как - (~ 214 + 1) = - (41 + 1) = -42.
Двоичный, который будет - (~ 11010110 + 1) = - (00101001 + 1) = -00101010.
перевод прост:
1: 1 от вычесть х
11010110-00000001 = 11010101
2: инвертировать ее
3: вычисления двоичного кода в dec (но игнорировать первый бит)
2 + 8 + 3 2 = 42
4: помните, первый бит исходного значения (== 1) , если 1 => инвертировать его => -42
Вы можете сказать, что это отрицательное число, так как есть в 1
в крайней левой бит. Один из способов получения величины - инвертировать все биты, а затем добавить 1
.
11010110
00101001 <= inverted
00101010 <= +1
Этот результат является десятичным 42
, поэтому исходное значение, представляющий -42
.
Обратите внимание, что вы можете проверить * ответ *, по крайней мере, в калькуляторе Windows 7 («Вид»> «Программист», установите длину слова «Байт», затем установите его в «Бин», введите номер и установите его в положение «Дек»). –