Понятие о специальном кодировании
Цели кодирования
Кодирование информации
Кодирование – это переход от исходного представления информации удобного для восприятия человеком к представлению удобному для хранения, передачи и обработки информации с использованием вычислительной техники. Обратный процесс называется декодированием. При кодировании информации ставятся следующие цели:
1) удобство физической реализации;
2) удобство восприятия;
3) высокая скорость передачи и обработки;
4) уменьшение избыточности сообщений;
5) надежность, т. е. защита от случайных искажений;
6) сохранность, т. е. защита от несанкционированного доступа.
Эти цели могут противоречить друг другу: экономные сообщения неудобны для восприятия, их надежность уменьшается. Избыточные сообщения более надежны, но уменьшается скорость передачи информации и т.д.
На разных этапах обработки информации достигаются разные цели . Поэтому информация неоднократно преобразуется из вида удобного для восприятия человеком к виду удобному для обработки средствами вычислительной техники и наоборот.
Для хранения чисел и выполнения операций над ними используют прямой, обратный и дополнительный коды.
1. Прямой код

где
- значение цифры в i-ом разряде, q –основание системы счисления.
Пример


При таком представлении чисел реализация арифметических операций в ЭВМ должна предусматривать различные действия с модулями чисел в зависимости от знаков. Сложение чисел с одинаковыми знаками выполняется как обычно: числа складываются и сумме присваивается код знака слагаемых. При сложении чисел с разными знаками определяется большее по модулю число, из большего вычитается меньшее и результату присваивается знак большего по модулю числа.
Для упрощения таких операций в ЭВМ используются специальные коды, которые позволяют свести эту операцию к операции арифметического сложения: обратный и дополнительный.
2. Обратный код
,
где
- инверсия цифры
, определяется
. Для двоичной СС инверсией 1 является 0 и наоборот.
Частное правило образования обратного кода для отрицательных двоичных чисел. Для преобразования прямого кода двоичного отрицательного числа в обратный код и наоборот необходимо знаковый разряд оставить без изменения, а в остальных разрядах 0 заменить на 1, а 1 на 0.
Пример.
|
|
|
|
|
|
3. Дополнительный код

Таким образом, для преобразования прямого кода q-ичного отрицательного числа в дополнительный , надо преобразовать его в обратный код и в младший разряд добавить 1.
Пример
|
|
|
|
|
|
|
При выполнении операции сложения с помощью специальных кодов знаковые разряды участвуют в сложении также как цифровые разряды. Знаковые разряды и цифры переноса из старшего цифрового разряда складываются как одноразрядные двоичные коды. Если при этом формируется перенос из знакового разряда, то он добавляется в младший разряд результата при использовании обратного кода и отбрасывается при использовании дополнительного кода.
Пример.
=0.1101 1001
| = 0.1101 1001
|
| + | + |
=1.1010 0010
| = 1.1010 0011
|
| = | = |
10.0111 1011
| 10.0111 1100
|
+1
| отбрасывается |
=0.0111 1100
| =0.0111 1100
|
При выполнении алгебраического сложения, перед преобразованием прямых кодов слагаемых в специальные, их надо выровнять по количеству разрядов.
Пример 1.
Получить дополнительный код числа х= -1310
1) х= -1310= -11012
2)
1.1101
3)
=1.0010
4)
1.0011
Пример 2.
Вычислить, используя дополнительные коды 710-310
| 1) | х= 710= 1112 | х= -310= -0112 |
| 2) | ![]() ![]() 0.111
| 1.011
1.100
1.101
|
| 3) | 0.111 + 1.101 = 10.100 | |
| 4) | х= 1002=410 |
Пример 3.
Вычислить, используя дополнительные коды 810-1310
| 1) | х= 810=10002 | х= -1310= -11012 |
| 2) | ![]() ![]() 0.1000
| 1.1101
1.0010
1.0011
|
| 3) | 0.1000 + 1.0011 = 1.1011 В знаковом разряде стоит 1, следовательно, результат получен в дополнительном коде. | |
| 4) | 1.1011
1.1011-1=1.1010
1.0101
В знаковом разряде стоит 1, следовательно, число отрицательное
| |
| 5) | х= 1.01012= -510 |
= 0.1101 1001
10.0111 1011
10.0111 1100
+1
