Прямі, обернені і доповнюючі коди
В усіх кодах додатні числа є однаковими !
Прямі коди – від’ємні числа змінють тільки знак: - 0.1101 = 1.1101 пр.
В обернених кодах від’ємне число повністю інвертується (додаток до одинички):
- 1101 = 1.0010 об.
В доповнюючих кодах відбувається спочатку інвертування, а потім додається одиничка: - 0.1101 1.0010 об. 1.0011д.
Реалізація операції віднімання за допомогою доповнюючих кодів.
При виконанні операції віднімання SUB і SBB слід пам’ятати, що дані сприймаються процесором як без знакові дані : 0.1011 – 0.1001 = 0.1011 +
(-0.1001) = 0.1011д. + 1.0111д= 0.0010
Без знакові і знакові дані.
Для без знакових даних всі біти є бітами даних і слово відображає діапазон від 0 до 65 535. Для знакових даних старший біт є знаковим і слово дозволяє відображати діапазон від – 32 768 до 32 767 . Команди ADD і SUB не розрізняють знакові і без знакові дані, вони просто додають і віднімають:
Приклад:
+11111001 + 249 - без знакове + -7 - знакове
00000010 2 2
11111011 251 -5
Таким чином результат операцій може інтерпретуватися по - різному.
Дата добавления: 2015-10-09; просмотров: 577;