Сложить X и Y в обратном и дополнительном кодах.
а) X= 111, Y= –11;
1) Сложим числа, пользуясь правилами двоичной арифметики:
X= 111 Y= – 11 X+Y= 100 |
2) Сложим числа, используя коды:
Прямой код | Сложение в обратном коде | Сложение в дополни-тельном коде |
Xпр=0,0000111 Yпр=1,0000011 | Xобр= 0,0000111 Yобр= 1,1111100 1 0,0000011 +1 (X+Y)обр= 0,0000100 | Xдоп= 0,0000111 Yдоп= 1,1111101 1)0,0000100 отбрасывается (X+Y)доп= 0,0000100 |
Так как результат сложения является кодом положительного числа (знак 0), то (X+Y)обр=(X+Y)доп=(X+Y)пр .
б) X= –101,Y= –11;
1) Сложим числа, пользуясь правилами двоичной арифметики:
X= – 101 Y= – 110 X+Y= –1011 |
2) Сложим числа, используя коды:
Прямой код | Сложение в обратном коде | Сложение в дополни-тельном коде |
Xпр=1,0000101 Yпр=1,0000110 | Xобр= 1,1111010 Yобр= 1,1111001 1 1,1110011 +1 (X+Y)обр= 1,1110100 | Xдоп= 1,1111011 Yдоп= 1,1111010 1)1,1110101 отбрасывается (X+Y)доп= 1,1110101 |
Так как сумма является кодом отрицательного числа (знак 1), то необходимо перевести результаты в прямой код:
а) из обратного кода
(X+Y)обр=1,1110100 (X+Y)пр=1,0001011;
б) из дополнительного кода
(X+Y)доп=1,1110101 (X+Y)пр=1,0001010+0,0000001=1,0001011.
Таким образом, X+Y= –1011 и полученный результат совпадает с обычной записью