Понятие о специальном кодировании

Цели кодирования

Кодирование информации

Кодирование – это переход от исходного представления информации удобного для восприятия человеком к представлению удобному для хранения, передачи и обработки информации с использованием вычислительной техники. Обратный процесс называется декодированием. При кодировании информации ставятся следующие цели:

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