Дополнение до 9 4-битного двоичного числа

Я не понимаю, как вычислить дополнение до 9 двоичного числа. Я могу применить его к десятичным, например 15 = (9-1)(9-5) ) 84, тогда я подумал продолжить с двоичным -> десятичным -> 9-е дополнение -> двоичное преобразование, но я думаю, что это неправильный путь играть.

введите здесь описание изображения


person user3595871    schedule 30.03.2017    source источник


Ответы (1)


Не уверен, что вы все еще ищете помощи по этому поводу, я вижу, что прошло два месяца. Но я не мог найти, как сделать дополнение 9 к BCD (двоично-десятичное число, которое хранится в 4 битах до 1001) где-либо на первой странице Google без преобразования двоичного кода в десятичное. Это не работает, если вы работаете только в двоичном формате, например, в ALU.

Немного поковырявшись с комплиментом 9 на бумаге в двоичном формате, я нашел ответ.

Вам нужно взять 9 (1001) и добавить дополнение 2 к 4-битному двоичному числу, для которого вы хотите получить дополнение 9:

Например, чтобы найти комплимент 9 2 (0010)

1. 1's compliment of 0010 = 1101
2. Add 0001 to get the 2's compliment = 1110
3. Add this to 1001 (9) = (1) 0111

This  can be tested in decimal: 0111 = 7, and 9 - 2 = 7.

Обратите внимание, что слева был бит переноса (1). Это означает, что окончательный ответ положительный. Для каждого комплимента 9 до 9 этот бит переноса будет равен 1.

Комплименты 9 для 10 и выше требуют дополнительного шага: вам нужно снова вычислить комплимент двойки по результату шага 3. В следующем примере я рассчитываю комплимент 9 для 13:

1. 1's compliment of 1101 = 0010
2. Add 0001 to get the 2's compliment = 0011
3. Add this to 1001 (9) = (0) 1100 (note that the carry bit = 0)
4. 1's compliment of 1100 = 0011
5. Add 0001 to get 2's compliment = 0100

In decimal: 9 - 13 = -4.

Обратите внимание, что слева (0) не было бита переноса. Это означает, что окончательный ответ является отрицательным значением: -4.

Независимо от того, есть ли бит переноса слева, будет определяться, нужно ли вам выполнять вычисление второго дополнения 2 на шаге 3, а также будет ли окончательный ответ положительным или отрицательным значением.

person Karel    schedule 01.06.2017