Сложение чисел в кодах.
При сложении чисел в кодах возникающая единица переноса из седьмого бита в знаковый бит отбрасывается (Табл.2.22).
Пример.
A = +1010101
B = +1011101
A + B = 1010101 + 1011101
Таблица 2.22. Пример сложения положительных чисел.
Знак | Значение кода | Примечание | |||||||
A | |||||||||
+ | B | ||||||||
= | A + B. Единица переноса из седьмого бита в знаковый бит отбрасывается |
Рассмотрим правила записи в знаковом бите.
При сложении чисел в обратном коде возникающая единица переноса в знаковом бите прибавляется к младшему разряду суммы кодов.
Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах, кроме знакового, на противоположные (Табл.2.23 - Табл.2.24).
Пример.
A = -1010101;
B = +1011101
Таблица 2.23. Пример сложения чисел в обратном коде, с положительной суммой.
Знак | Значение кода | Примечание | |||||||
Обратный код для A | |||||||||
+ | Обратный код для B | ||||||||
В знаковом бите появилась единица переноса | |||||||||
1+1 | Единица переноса в знаковом бите прибавлена к значению младшего бита. | ||||||||
= | A + B = 1000 – положительная сумма |
Пример.
A = +1010101;
B = -1011101
Таблица 2.24. Пример сложения чисел в обратном коде, с отрицательной суммой.
Знак | Значение кода | Примечание | |||||||
Обратный код для A | |||||||||
+ | Обратный код для B | ||||||||
Отрицательное число. Переводим в прямой код. | |||||||||
= | A + B = -1000 – отрицательная сумма |
При сложении чисел в дополнительном коде возникающая единица переноса в знаковом бите отбрасывается.
Дополнительный код преобразуется в прямой также, как и обратный, с последующим прибавлением единицы к младшему разряду (Табл.2.25 - Табл.2.26).
Пример.
A = -1010101;
B = +1011101
Таблица 2.25. Пример сложения чисел в дополнительном коде, с положительной суммой.
Знак | Значение кода | Примечание | |||||||
Дополнительный код для A | |||||||||
+ | Дополнительный код для B | ||||||||
В знаковом бите появилась единица переноса. Она отбрасывается | |||||||||
= | A + B = 1000 – положительная сумма |
Пример.
A = +1010101;
B = -1011101
Таблица 2.26. Пример сложения чисел в дополнительном коде, с отрицательной суммой.
Знак | Значение кода | Примечание | |||||||
Дополнительный код для A | |||||||||
+ | Дополнительный код для B | ||||||||
Отрицательное число. Переводим в прямой код. | |||||||||
Единицу прибавляем к значению младшего бита. | |||||||||
= | A + B = -1000 – отрицательная сумма |
Дата добавления: 2016-12-16; просмотров: 521;