Здавалка
Главная | Обратная связь

Тема 2. Представление чисел в прямом, обратном и дополнительных кодах



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

На разных этапах обработки информации достигаются разные цели и поэтому, информация неоднократно перекодируется, преобразуется из вида, удобного для восприятия человеком, к виду, удобному для обработки автоматизированными системами, и наоборот. Для кодирования информации нужен набор элементарных символов, из которых будут строиться последовательности символов – сообщения. Наименьшее количество таких элементарных символов – два. Кодирование с помощью двух символов называется двоичным кодированием. Двоичное кодирование технически реализуется легко и автоматически дает способ кодировки символов в двоичной системе счисления. В такой системе счисления процессор особенно быстро выполняет арифметические операции. Существуют различные системы кодирования, например, BCD, ASCII, КОИ – 7 и др.

На рисунке 2.1. продемонстрирован пример преобразования десятичных чисел в системе BCD.

Рис.2.1. Пример преобразования в двоично-десятичной системе BCD.

В отличие от обычной словесной формы, принятой в письменной речи, информация в памяти ПК записывается в форме цифрового двоичного кода. Это объясняется тем, что электронные элементы, из которых строится оперативная память, могут находиться только в одном из двух устойчивых состояний, которые можно интерпретировать как 0 или 1. Количество информации, которое может помещаться в один элемент памяти (0 или 1), называемое битом, очень мало и не несет никакой смысловой нагрузки, но если соединить несколько таких элементов в ячейку, то тогда можно сохранить в запоминающем устройстве столько информации, сколько потребуется. Каждый бит хранится в одном разряде памяти, а разряды объединяются в ячейки памяти фиксированного размера. Существуют 8, 16, 32, 64 разрядные ячейки, которые именуются байт, слово, двойное слово.

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

Прямой код

Прямой код соответствует обычной записи числа со своим знаком. Положительное число имеет в знаковом разряде символ 0, отрицательное – 1. Прямой код обозначают [A]пр, а знаковый разряд отделяют от цифровых разрядов точкой. Количество разрядов целой части числа обозначают n, а количество разрядов дробной части числа m. Для положительных чисел существует только прямой код.

Числа в прямом коде представляются в форме:

при А ³ 0 [A]пp = 0.an-1an-2 … a1a0,a-1 … a-m;

( 2.1 )

при А £ 0 [A]пр = 1.an-1an-2 … a1a0,a-1 … a-m ;

 

Число нуль в прямом коде имеет два изображения:

+ 0 : [0]пр = 0.00…0, - 0 : [0]пр = 1.00…0.

Рассмотрим случай байтового представления чисел.

Если число больше нуля, то в знаковом разряде записывают «0», а если меньше, то «1».

Пример №1. Представить числа А = 110112, В = -10102 в прямом коде.

Обратный код

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

Нуль в обратном коде имеет два представления:

+ 0 : [0]обр = 0.00 … 0, - 0 : [0]обр = 1.11 … 1.

Пример №2

Получить обратный код для числа А = -10101,10112 при n=5, m=4.

[ A]пр = 1.10101,1011

[A]обр = 1.01010,0100

Важно заметить, что в обратном коде отрицательного числа нули, записан­ные в конце числа после запятой и в начале числа, после 1, отделенные точкой, отбрасывать нельзя, но можно отбрасывать записанные на этих позициях 1.

Дополнительный код

Положительные числа в прямом и дополнительном кодах имеют одинаковую форму записи. Дополнительный код отрицательного числа образуется как результат суммирования обратного кода с единицей младшего разряда.

Пример №3

Получить дополнительный код для чисел: A=+1001,101(2), B=-1000,010(2) при n=4, m=3.

[A]пр=0.1001,101 [A]пр.= [A]обр.= [A]доп

[В]пр=1.1000,010

Для образования прямого кода отрицательного числа из дополнительного кода следует вычесть единицу младшего разряда (получим обратный код) и инвертировать все разряды, т.е. заме­нить 1 на 0, а 0 на 1 (получим прямой код).

Рассмотренный метод неудобен тем, что содержит операцию вычитания. В ПК прямой код отрицательного числа получают путем образования дополни­тельного кода от дополнительного, т.е. образуется обратный код и к нему прибав­ляется 1 младшего разряда.

Нуль представляется в дополнительном коде:

+0: [0]доп.= 0.000…00 ,

- 0: [0]доп.=1.111 … 1

+ 1

[0]доп.=0.000 … 0 ,

т.е. нуль в дополнительном коде имеет единственное представление.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.