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



Правило 1. При сложении чисел в обратном коде знаковые разряды складываются аналогично остальным, перенос из знакового разряда прибавляется к младшему разряду результата (так называемый циклический перенос), результат получается в обратном коде.

Правило 2. При сложении дополнительных кодов чисел знаковые разряды складываются аналогично остальным, перенос из знакового разряда теряется, результат получается в дополнительном коде.

Таким образом, применение обратного и дополнительного кода упрощает алгебраическое сложение. Сложение чисел с разными знаками заменяется сложением их соответствующих кодов, знак при этом получается автоматически.

Правило 3. Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах кроме знакового на противоположные. Дополнительный код преобразуется в прямой также, как и обратный, с последующим прибавлением единицы к младшему разряду.

Примеры.

1) Сложить двоичные числа X и Y в обратном и дополнительном кодах.

 X= 1112, Y= -112;

а) Сложим числа, пользуясь правилами двоичной арифметики:

X= Y=
-
111

11

X+Y= 100

б) Сложим числа, используя коды:

Прямой код Сложение в обратном коде Сложение в дополнительном коде
Xпр =0’0000111 Yпр =0’0000011  
Xобр= Yобр=
+
  0’0000111

  1’1111100

+

10’0000011
              1
(X+Y)обр= 0’0000100

 

Xдоп= Yдоп=
+
  0’0000111

  1’1111101

отбрасывается

10’0000100
   
(X+Y)доп= 0’0000100

 

Так как результат сложения является кодом положительного числа (знак 0), то (X+Y)обр=(X+Y)доп=(X+Y)пр.

2) Сложить двоичные числа X и Y в обратном и дополнительном кодах

X= -1012, Y= -1102;

а) Сложим числа, пользуясь правилами двоичной арифметики:

X= Y= -101 -110
X+Y= -1011

б) Сложим числа, используя коды:

Прямой код Сложение в обратном коде Сложение в дополнительном коде
Xпр =1’0000101 Yпр =1’0000110  
Xобр= Yобр=
+
  1’1111010

  1’1111001

+

11’1110011
              1
(X+Y)обр= 1’1110100

 

Xдоп= Yдоп=
+
  1’1111011

  1’1111010

отбрасывается

11’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 и полученный результат совпадает с обычной записью.

3). Сложить двоичные числа X и Y в обратном и дополнительном кодах

X= -110102, Y=10011112;

а) Сложим числа, пользуясь правилами двоичной арифметики:

Y= X= 1001111  -11010
X+Y= 0110101

б) Сложим числа, используя коды:

Прямой код Сложение в обратном коде Сложение в дополнительном коде
Xпр =1’0011010 Yпр =0’1001111  
Xобр= Yобр=
+
  1’1100101

  0’1001111

+

10’0110100
              1
(X+Y)обр= 0’0110101

 

Xдоп= Yдоп=
+
  1’1100110

  0’1001111

отбрасывается

10’0110101
   
(X+Y)доп= 0’0110101

 

Так как результат сложения является кодом положительного числа (знак 0), то (X+Y)обр=(X+Y)доп=(X+Y)пр.

4). Сложить двоичные числа X и Y в обратном и дополнительном кодах

X= -111012, Y= -1001102;

а) Сложим числа, пользуясь правилами двоичной арифметики:

X= Y=  -11101 -100110
X+Y= -1000011

б) Сложим числа, используя коды:

Прямой код Сложение в обратном коде Сложение в дополнительном коде
Xпр =1’0011101 Yпр =1’0100110  
Xобр= Yобр=
+
  1’1100010

  1’1011001

+

11’0111011
              1
(X+Y)обр= 1’0111100

 

Xдоп= Yдоп=
+
  1’1100011

  1’1011010

отбрасывается

11’0111101
   
(X+Y)доп= 1’0111101

 

Так как сумма является кодом отрицательного числа (знак 1 в знаковом разряде), то необходимо перевести результаты в прямой код:

- из обратного кода:

(X+Y)обр=1, 0111100 (X+Y)пр=1, 1000011 (инверсия (X+Y)обр );

- из дополнительного кода:

(X+Y)доп=1, 0111101 (X+Y)пр=1,1000010+0,0000001=1,1000011 (инвер- сия (X+Y)доп , плюс единица к младшему разряду).

Таким образом, X+Y = -1000011 и полученные результаты совпадают с обычной записью.

 

Формы представления данных

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

Триггер – электронное устройство, обладающее способностью длительно находиться в одном из двух устойчивых состояний и чередовать их под воздействием внешних сигналов. Отличительной особенностью триггера является способность запоминания двоичной информации. Приняв одно из состояний за «1», а другое за «0», можно считать, что триггер хранит (помнит) один разряд числа, записанного в двоичном коде.

Пример 1.Сколько триггеров достаточно для запоминания 1 бита информации?

Решение: Для запоминания 1 бита информации достаточно 1 триггера забудем, что число является отрицательным. Ответ: Х = –25.

Контрольные вопросы

1. Что такое система счисления? Основание системы счисления?

2. Что такое позиционные и непозиционные системы счисления?

3. Что такое двоичная, восьмеричная, шестнадцатеричная системы cчисления?

4. Правила сложения, вычитания, умножения в двоичной системе счисления.

5. Правила перевода чисел из одной системы счисления в другую.

6. Формы представления двоичных чисел.

7. Прямой, обратный, дополнительный коды чисел.

8. Правило сложения двоичных чисел в обратном и дополнительном кодах.

9. Какие существуют виды систем счисления?

10. Какая система счисления называется непозиционной?

11. Какая система счисления называется позиционной?

12. Что такое основание системы счисления?

13. Что принимается за основание системы счисления?

14. Какие системы счисления используются при компьютерной обработке данных?

15. Какие символы используются для представления чисел в двоичной системе счисления?

16. Какие символы используются для представления чисел в восьмеричной системе счисления?

17. Какие символы используются для представления чисел в шестнадцатеричной системе счисления?

18. Как перевести целое число из одной системы счисления в другую?

19. Как перевести дробную часть числа из одной системы счисления в другую?

20.  Сколько единиц можно занять в двоичной системе счисления?

21. Сколько единиц можно занять в восьмеричной системе счисления?

22. Сколько единиц можно занять в шестнадцатеричной системе счисления?

23. Что такое триггер?

24. Что такое прямой код числа?

25. Чему равен обратный и дополнительный коды целого положительного числа?

26. Как образуется обратный код целого отрицательного числа?

27.  Как образуется дополнительный код целого отрицательного числа?

28. Как представляется вещественное число в форме с плавающей точкой?

 


Дата добавления: 2019-09-08; просмотров: 1001; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!