коды прямой обратный дополнительный модифицированный

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

коды прямой обратный дополнительный модифицированный. l4 image002. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-l4 image002. картинка коды прямой обратный дополнительный модифицированный. картинка l4 image002. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.коды прямой обратный дополнительный модифицированный. equation. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-equation. картинка коды прямой обратный дополнительный модифицированный. картинка equation. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. коды прямой обратный дополнительный модифицированный. distance. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-distance. картинка коды прямой обратный дополнительный модифицированный. картинка distance. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.коды прямой обратный дополнительный модифицированный. projection image013. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-projection image013. картинка коды прямой обратный дополнительный модифицированный. картинка projection image013. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. коды прямой обратный дополнительный модифицированный. piramid. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-piramid. картинка коды прямой обратный дополнительный модифицированный. картинка piramid. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. коды прямой обратный дополнительный модифицированный. line. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-line. картинка коды прямой обратный дополнительный модифицированный. картинка line. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.коды прямой обратный дополнительный модифицированный. p image002. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-p image002. картинка коды прямой обратный дополнительный модифицированный. картинка p image002. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Пример перевода
x1=10101-[x1]пр=010101
x2=-11101-[x2]пр=111101
x3=0,101-[x3]пр=0,101
x4=-0,111-[x4]пр=1,111
2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

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

Пример перевода
x1=10101-[x1]доп=010101
x2=-11101-[x2]обр=100010+1-[x2]доп=100011
x3=0,101-[x3]доп=0,101
x4=-0,111-[x4]обр=1,000+1-[x4]доп=1,001
Для выявления ошибок при выполнении арифметических операций используются также модифицированные коды: модифицированный прямой; модифицированный обратный; модифицированный дополнительный, для которых под код знака числа отводится два разряда, т.е. “+”=00; ”-”=11. Если в результате выполнения операции в знаковом разряде появляется комбинация 10 или 01 то для машины это признак ошибки, если 00 или 11 то результат верный.

Источник

Вычислительная техника и программирование/Занятие 4

Содержание

Все операции в ЭВМ выполняются над числами, представленными специальными машинными кодами. Их использование позволяет обрабатывать знаковые разряды чисел так же, как и значащие разряды, а также заменять операцию вычитания операцией сложения.

Различают следующие коды двоичных чисел:

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

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

Свое название обратный код получил потому, что коды цифр отрицательного числа заменены на инверсные. Наиболее важные свойства обратного кода чисел:

Основные свойства дополнительного кода:

• сложение дополнительных кодов положительного числа С с его отрицательным значением дает т.н. машинную единицу дополнительного кода:

МЕдк=МЕок + 2 0 = 10|00…00,

т.е. число 10 (два) в знаковых разрядах числа;

• дополнительный код называется так потому, что представление отрицательных чисел является дополнением прямого кода чисел до машинной единицы

Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак «+» в этих кодах кодируется двумя нулевыми знаковыми разрядами, а знак «–» – двумя единичными разрядами.

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

Требуемая операцияНеобходимое преобразование
А+ВА+В
А-ВА+(-В)
-А+В(-А)+В
-А-В(-А)+(-В)

Здесь А и В неотрицательные числа. Скобки в представленных выражениях указывают на замену операции вычитания операцией сложения с обратным или дополнительным кодом соответствующего числа. Сложение двоичных чисел осуществляется последовательно, поразрядно в соответствии с таблицей. При выполнении сложения цифр необходимо соблюдать следующие правила:

Пример 1. Сложить два числа: А10 = 7, В10 = 16.

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

Сложение в обратном или дополнительном коде дает один и тот же результат:

По таблице необходимо преобразование А+(-В), в которой второй член преобразуется с учетом знака

При сложении чисел в ОК и ДК были получены переносы в знаковый разряд и из знакового разряда. В случае ОК перенос из знакового разряда требует дополнительного прибавления единицы младшего разряда (п.4 правил). В случае ДК этот перенос игнорируется.

Источник

Модифицированные обратный и дополнительный коды.

Например: X= 0,1010110 Y= 0,1101000 X+Y= 1,0111110

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

Здесь X и Y – коды положительных чисел, но ЭВМ воспринимает результат их сложения как код отрицательного числа (“1” в знаковом разряде). Для обнаружения переполнения разрядной сетки вводятся модифицированные коды.

Модифицированный обратный код – в нем под знак числа отводится не один, а два разряда. Форма записи чисел в модифицированном обратном коде выглядит следующим образом:

1) для положительного числа

X= коды прямой обратный дополнительный модифицированный. image226. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image226. картинка коды прямой обратный дополнительный модифицированный. картинка image226. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.; X коды прямой обратный дополнительный модифицированный. image228. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image228. картинка коды прямой обратный дополнительный модифицированный. картинка image228. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.= коды прямой обратный дополнительный модифицированный. image230. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image230. картинка коды прямой обратный дополнительный модифицированный. картинка image230. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.;

2) для отрицательного числа

X= коды прямой обратный дополнительный модифицированный. image226. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image226. картинка коды прямой обратный дополнительный модифицированный. картинка image226. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.; X коды прямой обратный дополнительный модифицированный. image228. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image228. картинка коды прямой обратный дополнительный модифицированный. картинка image228. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.= коды прямой обратный дополнительный модифицированный. image233. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image233. картинка коды прямой обратный дополнительный модифицированный. картинка image233. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.;

В модифицированном обратном и модифицированном дополнительном кодах под знак числа отводится не один, а два разряда: «00» соответствует знаку «+», «11» – знаку «-«. Любая другая комбинация (“01” или “10”), получившаяся в знаковых разрядах служит признаком переполнения разрядной сетки. Сложение чисел в модифицированных кодах ничем не отличается от сложения в обычных обратном и дополнительном кодах.

Рассмотрим предыдущий пример, выполнив сложение в модифицированном обратном коде:

X= 00,101011 Y= 00,110100 X+Y= 01,011111

В ЭВМ в процессе работы оба знаковых разряда сравниваются. В случае появления признака переполнения машина останавливается.

Модифицированный дополнительный код также рассматривает два знаковых разряда, а во всем остальном ничем не отличается от обычного дополнительного кода, то есть:

1) для положительного числа

X= коды прямой обратный дополнительный модифицированный. image226. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image226. картинка коды прямой обратный дополнительный модифицированный. картинка image226. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.; X коды прямой обратный дополнительный модифицированный. image237. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image237. картинка коды прямой обратный дополнительный модифицированный. картинка image237. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.= коды прямой обратный дополнительный модифицированный. image230. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image230. картинка коды прямой обратный дополнительный модифицированный. картинка image230. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.;

2) для отрицательного числа

Пример. Даны два числа: X=101001 и Y= –11010. Сложить их в дополнительном и модифицированном дополнительном кодах.

1) Переведем X и Y в дополнительный и модифицированный дополнительный код:

Обычная записьОбратный кодДополнительный код
X=+0101001 Y=–0011010Xобр=0,0101001 Yобр=1,1100101Xдоп=0,0101001 Yдоп=1,1100110
Обычная записьМод. обратный кодМод. дополнительный код
X=+101001 Y=–011010 коды прямой обратный дополнительный модифицированный. image241. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image241. картинка коды прямой обратный дополнительный модифицированный. картинка image241. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.=00,101001 коды прямой обратный дополнительный модифицированный. image243. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image243. картинка коды прямой обратный дополнительный модифицированный. картинка image243. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.=11,100101 коды прямой обратный дополнительный модифицированный. image245. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image245. картинка коды прямой обратный дополнительный модифицированный. картинка image245. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.=00,101001 коды прямой обратный дополнительный модифицированный. image247. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image247. картинка коды прямой обратный дополнительный модифицированный. картинка image247. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.=11,100110

2) Выполним сложение:

коды прямой обратный дополнительный модифицированный. image248. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image248. картинка коды прямой обратный дополнительный модифицированный. картинка image248. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. коды прямой обратный дополнительный модифицированный. image249. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image249. картинка коды прямой обратный дополнительный модифицированный. картинка image249. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.Xдоп= 0,0101001 Yдоп= 1,1100110 1)0,0001111 отбрасывается (X+Y)доп= 0,0001111X коды прямой обратный дополнительный модифицированный. image251. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image251. картинка коды прямой обратный дополнительный модифицированный. картинка image251. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.= 00,101001 Y коды прямой обратный дополнительный модифицированный. image251. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image251. картинка коды прямой обратный дополнительный модифицированный. картинка image251. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.= 11,100110 1) 00,001111 отбрасывается (X+Y) коды прямой обратный дополнительный модифицированный. image251. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image251. картинка коды прямой обратный дополнительный модифицированный. картинка image251. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.= 00,001111

Переполнения нет (в знаковых разрядах “00”), поэтому результаты, полученные в обычном и модифицированном кодах совпадают (X+Y=1111).

Упражнения 2.

1) Записать число в прямом, обратном и дополнительном кодах:

а) 11010; б) –11101; в) –101001; г) –1001110.

2) Перевести X и Y в прямой, обратный и дополнительный коды. Сложить их в обратном и дополнительном кодах. Результат перевести в прямой код. Проверить полученный результат, пользуясь правилами двоичной арифметики.

а) X= –11010; Y= 1001111;б) X= –11101; Y= –100110;в) X= 1110100; Y= –101101;
г) X= –10110; Y= –111011;д) X= 1111011; Y= –1001010;е) X= –11011; Y= –10101.

Сложить X и Y в модифицированном обратном и модифицированном дополнительном восьмиразрядных кодах. В случае появления признака переполнения увеличить число разрядов в кодах и повторить суммирование. Результат перевести в прямой код и проверить, пользуясь правилами двоичной арифметики.

Формы представления чисел в ЭВМ.

При проектировании ЭВМ, создании инструментального и прикладного программного обеспечения разработчикам приходится решать вопрос о представлении в ЭВМ числовых данных. Для решения большинства прикладных задач обычно достаточно использовать целые и вещественные числа. Запись целочисленных данных в запоминающем устройстве ЭВМ не представляет затруднений: число переводится в двоичную систему и записывается в прямом коде. Диапазон представляемых чисел в этом случае ограничивается количеством выделенных для записи разрядов. Для вещественных данных обычно используются две формы записи: число с фиксированной точкой (ЧФТ) и число с плавающей точкой (ЧПТ).

Источник

Двоичная арифметика. Прямой, обратный, дополнительный и модифицированный коды

В ЭВМ в целях упрощения выполнения арифметических операций применяют специальные коды для представления чисел. Использование кодов позволяет свести операцию вычитания чисел к арифметическому сложению кодов этих чисел. Применяются прямой, обратный и дополнительный коды чисел. Прямой код используется для представления отрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении. Обратный и дополнительный коды используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ.

К кодам выдвигаются следующие требования:

1) Разряды числа в коде жестко связаны с определенной разрядной сеткой.

2) Для записи кода знака в разрядной сетке отводится фиксированный, строго определенный разряд. Например, если за основу представления кода взят один байт, то для представления числа будет отведено 7 разрядов, а для записи кода знака один разряд.

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

Знаковым разрядом обычно является крайний левый разряд в разрядной сетке. В дальнейшем при записи кода знаковый разряд от цифровых условимся отделять запятой. Если количество разрядов кода не указано будем предполагать, что под запись кода выделен один байт.

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

Дополнительный код. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.

Прямой код Обратный код Дополнительный код

0,0001101 0,0001101 0,0001101

Прямой код Обратный код Дополнительный код

1,0001101 1,1110010 1,1110011

4.3.2 Особенности сложения чисел в обратном и дополнительном кодах

При сложении чисел в дополнительном коде возникающая единица переноса в знаковом разряде отбрасывается.

При сложении чисел в обратном коде возникающая единица переноса в знаковом разряде прибавляется к младшему разряду суммы кодов.

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

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

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

коды прямой обратный дополнительный модифицированный. image059. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image059. картинка коды прямой обратный дополнительный модифицированный. картинка image059. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

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

Прямой кодСложение в обратном кодеСложение в дополнительном коде
коды прямой обратный дополнительный модифицированный. image061. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image061. картинка коды прямой обратный дополнительный модифицированный. картинка image061. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. коды прямой обратный дополнительный модифицированный. image062. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image062. картинка коды прямой обратный дополнительный модифицированный. картинка image062. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. коды прямой обратный дополнительный модифицированный. image064. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image064. картинка коды прямой обратный дополнительный модифицированный. картинка image064. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

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

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

коды прямой обратный дополнительный модифицированный. image066. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image066. картинка коды прямой обратный дополнительный модифицированный. картинка image066. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

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

Прямой кодСложение в обратном кодеСложение в дополнительном коде
коды прямой обратный дополнительный модифицированный. image068. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image068. картинка коды прямой обратный дополнительный модифицированный. картинка image068. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. коды прямой обратный дополнительный модифицированный. image070. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image070. картинка коды прямой обратный дополнительный модифицированный. картинка image070. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. коды прямой обратный дополнительный модифицированный. image072. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image072. картинка коды прямой обратный дополнительный модифицированный. картинка image072. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

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

— из обратного кода
(X+Y)обр=1,1110100 коды прямой обратный дополнительный модифицированный. image073. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image073. картинка коды прямой обратный дополнительный модифицированный. картинка image073. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.(X+Y)пр=1,0001011;

4.3.3 Модифицированные обратный и дополнительный коды.

При переполнении разрядной сетки, происходит перенос единицы в знаковый разряд. Это приводит к неправильному результату, причем положительное число, получившееся в результате арифметической операции может восприниматься как отрицательное (так как в знаковом разряде «1») и наоборот. Например:

коды прямой обратный дополнительный модифицированный. image074. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image074. картинка коды прямой обратный дополнительный модифицированный. картинка image074. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Рассмотрим предыдущий пример, выполнив сложение в модифицированном обратном коде:

коды прямой обратный дополнительный модифицированный. image076. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image076. картинка коды прямой обратный дополнительный модифицированный. картинка image076. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Рассмотрим ещё один пример.

1) Переведем X и Y в модифицированный дополнительный код:

2) Выполним сложение:

коды прямой обратный дополнительный модифицированный. image082. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-image082. картинка коды прямой обратный дополнительный модифицированный. картинка image082. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Источник

Представление целых чисел: прямой код, код со сдвигом, дополнительный код

Выбор способа хранения целых чисел в памяти компьютера — не такая тривиальная задача, как могло бы показаться на первый взгляд. Желательно, чтобы этот способ:

Рассмотрим разные методы представления.

Содержание

Прямой код [ править ]

коды прямой обратный дополнительный модифицированный. 230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC %D0%BA%D0%BE%D0%B4%D0%B5. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC %D0%BA%D0%BE%D0%B4%D0%B5. картинка коды прямой обратный дополнительный модифицированный. картинка 230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC %D0%BA%D0%BE%D0%B4%D0%B5. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Достоинства представления чисел с помощью прямого кода [ править ]

Недостатки представления чисел с помощью прямого кода [ править ]

Из-за весьма существенных недостатков прямой код используется очень редко.

Код со сдвигом [ править ]

коды прямой обратный дополнительный модифицированный. 230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%BA%D0%BE%D0%B4%D0%B5 %D1%81%D0%BE %D1%81%D0%B4%D0%B2%D0%B8%D0%B3%D0%BE%D0%BC. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%BA%D0%BE%D0%B4%D0%B5 %D1%81%D0%BE %D1%81%D0%B4%D0%B2%D0%B8%D0%B3%D0%BE%D0%BC. картинка коды прямой обратный дополнительный модифицированный. картинка 230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%BA%D0%BE%D0%B4%D0%B5 %D1%81%D0%BE %D1%81%D0%B4%D0%B2%D0%B8%D0%B3%D0%BE%D0%BC. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

По сути, при таком кодировании:

Достоинства представления чисел с помощью кода со сдвигом [ править ]

Недостатки представления чисел с помощью кода со сдвигом [ править ]

Из-за необходимости усложнять арифметические операции код со сдвигом для представления целых чисел используется не часто, но зато применяется для хранения порядка вещественного числа.

Дополнительный код (дополнение до единицы) [ править ]

коды прямой обратный дополнительный модифицированный. %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC %D0%B4%D0%BE %D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D1%86%D1%8B. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-%D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC %D0%B4%D0%BE %D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D1%86%D1%8B. картинка коды прямой обратный дополнительный модифицированный. картинка %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC %D0%B4%D0%BE %D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D1%86%D1%8B. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

В качестве альтернативы представления целых чисел может использоваться код с дополнением до единицы (англ. Ones’ complement).

Алгоритм получения кода числа:

Достоинства представления чисел с помощью кода с дополнением до единицы [ править ]

Недостатки представления чисел с помощью кода с дополнением до единицы [ править ]

Дополнительный код (дополнение до двух) [ править ]

коды прямой обратный дополнительный модифицированный. 230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC %D0%BA%D0%BE%D0%B4%D0%B5. коды прямой обратный дополнительный модифицированный фото. коды прямой обратный дополнительный модифицированный-230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC %D0%BA%D0%BE%D0%B4%D0%B5. картинка коды прямой обратный дополнительный модифицированный. картинка 230px %D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 %D0%B4%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D1%8B%D1%85 %D1%87%D0%B8%D1%81%D0%B5%D0%BB %D0%B2 %D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC %D0%BA%D0%BE%D0%B4%D0%B5. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Чаще всего для представления отрицательных чисел используется код с дополнением до двух (англ. Two’s complement).

Алгоритм получения дополнительного кода числа:

Длинная арифметика для чисел, представленных с помощью кода с дополнением до двух [ править ]

Достоинства представления чисел с помощью кода с дополнением до двух [ править ]

Недостатки представления чисел с помощью кода с дополнением до двух [ править ]

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *