[Список тем]


Алгебраическое сложение чисел с использованием дополнительного и обратного кодов


Ваш номер по журналу N.

  1. Используя дополнительный код, алгебраически сложить, переведя в двоичную систему счисления десятичные числа (90+N) и -(60-N) (например, для варианта 7 - это число 97 и -53).

  2. Используя обратный код, алгебраически сложить, переведя в двоичную систему счисления десятичные числа -(80-N) и (30+N) (например, для варианта 7 - это число -73 и 37).

Задание выполняется без черновика и калькулятора. Все вычисления приводятся в решении. Ответы каждого пункта - выделить

Пример:
алгебраически сложим десятичные числа 120 и -61 с использованием дополнительного кода.
120(10) =(0)1111000(2) знаковый разряд (0) в начале числа для положительного числа.
-61(10) = (1)111101(2)  знаковый разряд (1) в начале числа для отрицательного числа.
Выравниваем количество значащих цифр, добавлением нулей после знакового разряда.
(1)111101=(1)0111101
Получаем дополнительный код отрицательного числа инвертированием всех разрядов кроме знакового и прибавлением 1 к млачшему разряду.
(1)1000011
Складываем положительное число с дополнительным кодом отрицательного по правилам сложения двоичных чисел.
первое число (0) 1 1 1 1 0 0 0
доп.код второго (1) 1 0 0 0 0 1 1
результат (0) 0 1 1 1 0 1 1

Единица переполнения, возникшая при суммировании в знаковом разряде, отбрасывается. Если бы при суммировании у результата в знаковом разряде была бы 1, то это был бы не сам результат, а его дополнительный код, и для получения результата его надо было бы перевести в прямой код, инвертировав все его разряды, кроме знакового и прибавив 1 к млачшему разряду.
Результат (0)0111011(2) = +59
Пример:
алгебраически сложим десятичные числа -122 и +36 с использованием обратного кода.
-122(10) =(1)1111010(2) .
36(10) = (0)100100(2) .
Выравниваем количество значащих цифр, добавлением нулей после знакового разряда.
(0)100100=(0)0100100
Получаем обратный код отрицательного числа инвертированием всех разрядов кроме знакового.
(1)0000101
Складываем положительное число с обратным кодом отрицательного по правилам сложения двоичных чисел.
обр. код первого числа (1) 0 0 0 0 1 0 1
второе число (0) 0 1 0 0 1 0 0
результат (1) 0 1 0 1 0 0 1

Если бы возникла единица переполнения, при суммировании в знаковом разряде, ее надо было бы прибавить к млачшему разряду числа.
У результата в знаковом разряде 1, значит - это дополнительный код результата, и, для получения прямого кода результата, надо инвертировать все разряды кроме знакового.
Результат (1)1010110(2) = -86


[Список тем]