2013-02-18 3 views
0

Это больше вопрос hw, но я не могу понять это. Я думал, что это будет 214, но из-за первого бит слева я не уверен.Что такое десятичное значение для 8-разрядного номера дополнения 11010110?

+0

Обратите внимание, что вы можете проверить * ответ *, по крайней мере, в калькуляторе Windows 7 («Вид»> «Программист», установите длину слова «Байт», затем установите его в «Бин», введите номер и установите его в положение «Дек»). –

ответ

2

Поскольку это номер дополнения 2, первый бит является одним из них означает, что это отрицательное число.

Значение 214 - 256 = -42.

Его также можно вычислить как - (~ 214 + 1) = - (41 + 1) = -42.

Двоичный, который будет - (~ 11010110 + 1) = - (00101001 + 1) = -00101010.

1

перевод прост:

1: 1 от вычесть х

11010110-00000001 = 11010101

2: инвертировать ее

3: вычисления двоичного кода в dec (но игнорировать первый бит)

2 + 8 + 3 2 = 42

4: помните, первый бит исходного значения (== 1) , если 1 => инвертировать его => -42

1

Вы можете сказать, что это отрицательное число, так как есть в 1 в крайней левой бит. Один из способов получения величины - инвертировать все биты, а затем добавить 1.

11010110 
00101001 <= inverted 
00101010 <= +1 

Этот результат является десятичным 42, поэтому исходное значение, представляющий -42.