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

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

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

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

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

X =

кодове
; х
допълнителни
=
кодове
;

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

X =

кодове
; х
допълнителни
=
кодове
;

(обозначаване

кодове
гласи „не X“, ᴛ.ᴇ., ако X = 0, тогава
кодове
= 1 и обратно, ако X = 1, тогава
обратни
= 0).

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

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

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

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

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

X =

допълнителни
; х
допълнителни
=
допълнителни
;

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

X =

кодове
; х
кодове
=
обратни
+0,000. ... ... един;

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

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