Для выполнения вычитания чисел путем сложения их обратных (дополнительных) кодов в формате 1 байт, сначала нужно найти обратный код для каждого числа. Обратный код числа получается путем инвертирования всех разрядов исходного числа. Дополнительный код получается путем добавления к обратному коду 1.
а) Для чисел 19 и 14:
19 = 00010011
14 = 00001110
Обратный код для 19: 11101100
Обратный код для 14: 11110001
Теперь сложим их:
11101100
1 11011101
Результат в дополнительном коде: 11011101
После перевода результата обратно в десятичную систему получаем -6.
б) Для чисел 19 и 43:
19 = 00010011
43 = 00101011
Обратный код для 19: 11101100
Обратный код для 43: 11010100
Теперь сложим их:
11101100
1 10100000
Результат в дополнительном коде: 01000000
После перевода результата обратно в десятичную систему получаем -64.
в) Для чисел 43 и 25:
43 = 00101011
25 = 00011001
Обратный код для 43: 11010100
Обратный код для 25: 11100111
Теперь сложим их:
11010100
1 10111011
Результат в дополнительном коде: 01111011
После перевода результата обратно в десятичную систему получаем 27.
Переполнение разрядной сетки происходит в тех случаях, когда результат сложения двух чисел в дополнительном коде выходит за пределы диапазона, который может быть представлен заданным форматом (в данном случае 1 байт). В случаях (а) и (б) произошло переполнение разрядной сетки, так как результаты (-6 и -64) выходят за диапазон представления чисел от -128 до 127 в формате 1 байт. В случае (в) переполнения разрядной сетки не произошло, так как результат (27) находится в пределах допустимого диапазона.