Обратный и дополнительный коды двоичных чисел

Назначение сервиса. Онлайн-калькулятор предназначен для представления чисел в обратном и дополнительном коде.
Число
Найти: прямой код обратный код дополнительный код
Вместе с этим калькулятором также используют следующие:
Целые числа в ЭВМ могут быть представлены в виде:
  • прямого кода. Прямой код двоичного числа совпадает по изображению с записью самого числа.
  • обратного кода. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
  • дополнительного кода. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.

Прямой код числа кодирует только знаковую информацию и используется для хранения положительных и отрицательных чисел в ЭВМ. Прямой код двоичного числа совпадает по изображению с записью самого числа, но в знаковом разряде ставится 0, если число положительное и, 1 если число отрицательное.
Обратный и дополнительный коды используются для выполнения всех арифметических операций через операцию сложения.
Следует помнить, что положительные числа в обратном и дополнительном коде совпадают с прямым кодом.
1) Прямой код числа (кодируется только знаковая информация), “+”=0; ”-”=1.
Для прямого кода возможны два представления нуля, машинный положительный ноль, т.е. +0,110=0,110, машинный отрицательный ноль, т.е. -0,111=1,111.

Пример перевода

2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Пример перевода

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

Пример перевода

Для выявления ошибок при выполнении арифметических операций используются также модифицированные коды: модифицированный прямой; модифицированный обратный; модифицированный дополнительный, для которых под код знака числа отводится два разряда, т.е. “+”=00; ”-”=11. Если в результате выполнения операции в знаковом разряде появляется комбинация 10 или 01 то для машины это признак ошибки, если 00 или 11 то результат верный.

Как определить, положительное или отрицательное число? Знак числа определяет старший бит: 0 - положительное число, 1 - отрицательное число. Например, для числа 1,001 сразу можно определить, что оно отрицательное (меньше нуля).

Пример. Представить в дополнительном коде десятичные числа: -4.
Решение. Представим число в двоичном коде.
4 = 00001002
Инвертируем все разряды числа, а в знаковый разряд заносим 1.
Двоичное число 0000100 имеет обратный код 1,1111011
Добавляем к младшему разряду 1.
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд.

7 6 5 4 3 2 1 0
1
1 1 1 1 1 0 1 1
0 0 0 0 0 0 0 1
0

В 1-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 2-й разряд.
7 6 5 4 3 2 1 0
1 1
1 1 1 1 1 0 1 1
0 0 0 0 0 0 0 1
0 0

В итоге получаем:
7 6 5 4 3 2 1 0
1 1
1 1 1 1 1 0 1 1
0 0 0 0 0 0 0 1
1 1 1 1 1 1 0 0

Число -4 представляется в двоичном дополнительном коде как 11111100
загрузка...