Прямой код предназначен для отображения целых и дробных чисел со знаком.

Обратный код. Положительные такие же, как в прямом коде, а отрицательные инвертируются.
Обратный код позволяет вычесть одно число из другого, используя операцию сложения. 
| 1 | 4 | 10 | + | 8 | 10 | = | 2 | 2 | 10 | ||||||||||||||||
| 1 | 4 | 10 | = | 0 | . | 1 | 1 | 1 | 0 | пр | = | 0 | . | 1 | 1 | 1 | 0 | об | |||||||
| 8 | 10 | = | 0 | . | 1 | 0 | 0 | 0 | пр | = | 0 | . | 1 | 0 | 0 | 0 | об | ||||||||
| + | 0 | . | 1 | 1 | 1 | 0 | |||||||||||||||||||
| 0 | . | 1 | 0 | 0 | 0 | ||||||||||||||||||||
| 1 | . | 0 | 1 | 1 | 0 | - переполнение (1. – отрицательное) | |||||||||||||||||||
| + | 0 | . | 0 | 1 | 1 | 1 | 0 | ||||||||||||||||||
| 0 | . | 0 | 1 | 0 | 0 | 0 | |||||||||||||||||||
| 0 | . | 1 | 0 | 1 | 1 | 0 | = | 2 | 2 | 10 | |||||||||||||||
| 1 | 4 | 10 | - | 8 | 10 | = | 2 | 2 | 10 | ||||||||||||||||
| 1 | 4 | 10 | = | 0 | . | 1 | 1 | 1 | 0 | пр | = | 0 | . | 1 | 1 | 1 | 0 | об | |||||||
| - | 8 | 10 | = | 1 | . | 1 | 0 | 0 | 0 | пр | = | 1 | . | 0 | 1 | 1 | 1 | об | |||||||
| + | 0 | . | 1 | 1 | 1 | 0 | |||||||||||||||||||
| 1 | . | 0 | 1 | 1 | 1 | ||||||||||||||||||||
| + | 1 | 0 | . | 0 | 1 | 0 | 1 | ||||||||||||||||||
| 1 | |||||||||||||||||||||||||
| 0 | . | 0 | 1 | 1 | 0 | = | 6 | 10 | |||||||||||||||||
| - | 1 | 4 | 10 | = | 1 | . | 1 | 1 | 1 | 0 | пр | = | 1 | . | 0 | 0 | 0 | 1 | об | ||||||
| - | 8 | 10 | = | 1 | . | 1 | 0 | 0 | 0 | пр | = | 1 | . | 0 | 1 | 1 | 1 | об | |||||||
| + | 1 | . | 0 | 0 | 0 | 1 | |||||||||||||||||||
| 1 | . | 0 | 1 | 1 | 1 | ||||||||||||||||||||
| + | 1 | 0 | . | 1 | 0 | 0 | 0 | ||||||||||||||||||
| 1 | |||||||||||||||||||||||||
| 0 | . | 1 | 0 | 0 | 1 | - переполнение | |||||||||||||||||||
| + | 1 | . | 1 | 0 | 0 | 0 | 1 | ||||||||||||||||||
| 1 | . | 1 | 0 | 1 | 1 | 1 | |||||||||||||||||||
| + | 1 | 1 | . | 0 | 1 | 0 | 0 | 0 | |||||||||||||||||
| 1 | |||||||||||||||||||||||||
| 1 | . | 0 | 1 | 0 | 0 | 1 | = | 1 | . | 1 | 0 | 1 | 1 | 0 | пр | = | - | 2 | 2 | 10 | |||||
Дополнительный код.
Положительные такие же как и в прямом и обратном кодах.
Отрицательные:
1 способ: к младшему разряду обратного кода прибавляется единица.
| - | 1 | 4 | 10 | = | 1 | . | 1 | 1 | 1 | 0 | пр | = | 1 | . | 0 | 0 | 0 | 1 | об | = | 1 | . | 0 | 0 | 1 | 0 | дп |
| - | 8 | 10 | = | 1 | . | 1 | 0 | 0 | 0 | пр | = | 1 | . | 0 | 1 | 1 | 1 | об | = | 1 | . | 1 | 0 | 0 | 0 | дп |
2 способ: переписываем прямой код справа налево до первой единицы включительно, остальные инвертируем.
| - | 1 | 4 | 10 | = | 1 | . | 1 | 1 | 1 | 0 | пр | = | 1 | . | 0 | 0 | 1 | 0 | дп |
| - | 8 | 10 | = | 1 | . | 1 | 0 | 0 | 0 | пр | = | 1 | . | 1 | 0 | 0 | 0 | дп |
3 способ: вычитаем из нуля двоичный код числа.

Сложение:
Вычеркиваем все символы справа от первого после точки.
| 6 | 10 | = | 0 | . | 1 | 1 | 0 | пр | = | 0 | . | 1 | 1 | 0 | дп | |||||||||||||||
| - | 6 | 10 | = | 1 | . | 1 | 1 | 0 | пр | = | 1 | . | 0 | 1 | 0 | дп | ||||||||||||||
| + | 0 | . | 1 | 1 | 0 | |||||||||||||||||||||||||
| 1 | . | 0 | 1 | 0 | ||||||||||||||||||||||||||
| 1 | 0 | . | 0 | 0 | 0 | = | 0 | 10 | ||||||||||||||||||||||
| - | 8 | 10 | = | 1 | . | 1 | 0 | 0 | 0 | пр | = | 1 | . | 1 | 0 | 0 | 0 | дп | ||||||||||||
| - | 1 | 4 | 10 | = | 1 | . | 1 | 1 | 1 | 0 | пр | = | 1 | . | 0 | 0 | 1 | 0 | дп | |||||||||||
| + | 1 | . | 1 | 0 | 0 | 0 | ||||||||||||||||||||||||
| 1 | . | 0 | 0 | 1 | 0 | |||||||||||||||||||||||||
| 1 | 0 | . | 1 | 0 | 1 | 0 | - переполнение (получили положительное знач.) | |||||||||||||||||||||||
| + | 1 | . | 1 | 1 | 0 | 0 | 0 | |||||||||||||||||||||||
| 1 | . | 1 | 0 | 0 | 1 | 0 | ||||||||||||||||||||||||
| 1 | 1 | . | 0 | 1 | 0 | 1 | 0 | = | 1 | . | 0 | 1 | 0 | 0 | 1 | = | 1 | . | 1 | 0 | 1 | 1 | 0 | пр | = | 2 | 2 | 10 | ||
Модифицированный код.
1.1011 – отрицательное число или положительное с переполнением?
Модификация – два разряда для знака.
00. – положительное.
11. – отрицательное.
01. – положительное с переполнением.
10. – отрицательное с переполнением.
В дополнительном коде сложение отрицательных и положительных чисел происходит по одному правилу. + меньше памяти занимает.
Понятие разрядной сетки. Понятие переполнения. Понятие машинного нуля.
Разрядная сетка – это кол-во двоичных разрядов, выделяемых в памяти для отображения чисел. Она напрямую зависит от разрядности процессора. Если число вышло за пределы разрядной сетки слева, то говорят о переполнении разрядной сетки. Если справа – то о возникновении машинного нуля.
Сложение и вычитание в обратном и дополнительном коде. Переполнение и его устранение.
см. 13.
Дата: 2019-04-23, просмотров: 530.