Модифицирани обратни и допълнителни кодове

Модифицирани обратни и допълнителни кодове - Методически инструкции, раздел Математика, Компютърни аритметични бази Например: X = 0,1010110 Y = 0,1101000 .

Когато битовата мрежа препълва, единицата се прехвърля към знаковия бит. Това води до неправилен резултат и положително число, получено в резултат на аритметична операция, може да се възприеме като отрицателно (тъй като в знаковия бит "1") и обратно.

Тук X и Y са кодове на положителни числа, но компютърът възприема резултата от тяхното събиране като код на отрицателно число („1“ в знаковия бит). За да се открие препълването на битовата мрежа, се въвеждат модифицирани кодове.

Модифициран обратен код - в него под знака на числото се приписва не една, а две цифри. Формата на писане на числа в модифицирания обратен код е както следва:

1) за положително число

X =; X =;

2) за отрицателно число

X =; X =;

(обозначението се чете "не X", т.е. ако X = 0, тогава = 1 и обратно, ако X = 1, тогава = 0).

IN модифициран реверс и модифициран допълнителен кодовете под знака на числото се присвояват не една, а две цифри: "00" съответства на знака "+", "11" - знака "-". Всяка друга комбинация („01“ или „10“), получена със знакови цифри, служи преливане на битова мрежа. Добавянето на числа в модифицираните кодове не се различава от добавянето в обикновените обратни и допълващи кодове на две.

Да разгледаме предишния пример, като извършим добавянето в модифицирания обратен код:

В компютър в процеса на работа се сравняват и двата разряда на знака. Ако се появи знак за преливане, машината спира.

Модифициран допълнителен код също разглежда две подписани цифри и в противен случай не се различава от обичайния допълнителен код, т.е.:

1) за положително число

X =; X =;

2) за отрицателно число

X =; X = + 0,000. ... ... един;

Пример. Дадени са две числа: X = 101001 и Y = –11010. Добавете ги в допълнение и модифицирано допълнение.

1) Нека преведем X и Y в допълнителен и модифициран допълнителен код: