Найти прямой, обратный и дополнительный коды суммы чисел "34" и "-136"
найти прямой, обратный и дополнительный коды суммы чисел "34" и "-136"
в прямом коде:
34=0.100010
-136=1.10001000
переводим в обратный:
34=0.100010 - положительное число совпадает с прямым кодом
-136=1.01110111 - инвертируем все разряды кроме знакового
складываем в обратном коде:
0.00100010
+
1.01110111
__________
1.10011001 - ОБРАТНЫЙ КОД СУММЫ
1.10011010 - ДОПОЛНИТЕЛЬНЫЙ КОД СУММЫ (прибавляем к обратному коду единицу)
1.01100110 - ПРЯМОЙ КОД СУММЫ (инвертируем все разряды обратного кода кроме знакового)
Представим число 34 в двоичном коде.
34 = 1000102
Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.
Таким образом, число 34 в прямом двоичном коде записывается как 0,0100010
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 0100010 имеет обратный код 0,0100010
Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
Число 34 представляется в двоичном дополнительном коде как 0,0100010
Представим число -136 в двоичном коде.
136 = 100010002
Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.
Таким образом, число -136 в прямом двоичном коде записывается как 1,10001000
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 10001000 имеет обратный код 1,01110111
Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд.