Особенности сложения чисел в обратном и дополнительном кодах
При сложении чисел в дополнительном коде возникающая единица переноса в знаковом разряде отбрасывается. При сложении чисел в обратном коде возникающая единица переноса в знаковом разряде прибавляется к младшему разряду суммы кодов. Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах кроме знакового на противоположные. Дополнительный код преобразуется в прямой также, как и обратный, с последующим прибавлением единицы к младшему разряду. Пример Сложить двоичные числа X и Y в обратном и дополнительном кодах. а) X= 111, Y= -11; 1) Сложим числа, пользуясь правилами двоичной арифметики: 2) Сложим числа, используя коды:
Так как результат сложения является кодом положительного числа (знак 0), то (X+Y)обр=(X+Y)доп=(X+Y)пр. б) X= -101, Y= -11; 1) Сложим числа, пользуясь правилами двоичной арифметики: 2) Сложим числа, используя коды:
Так как сумма является кодом отрицательного числа (знак 1), то необходимо перевести результаты в прямой код: - из обратного кода (X+Y)обр=1, 1110100 (X+Y)пр=1, 0001011; - из дополнительного кода (X+Y)доп=1, 1110101 (X+Y)пр=1, 0001010+0, 0000001=1, 0001011. Таким образом, X+Y= -1011 и полученный результат совпадает с обычной записью.
|