Машинные коды чисел


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

Представление чисел в прямом коде складывается из знакового разряда и собственно числа. Например, рассмотрим несколько восьмиразрядных двоичных чисел в прямом коде и их двоичные эквиваленты:

+2910 = 001111012 2910= 101111012

+ 12710 = 011111112 12710 = 111111112

+010 = 000000002 010 = 100000002

Система представления в прямом коде содержит одинаковое количество положительных и отрицательных чисел, причем 0 может быть представлен двумя способами.

Для представления отрицательных чисел или замены операции вычита­ние на сложение используются обратный или дополнительный коды. Сущ­ность этих кодов заключается в том, что вычитаемое число X, как отрица­тельное число, представляется в виде дополнения до некоторой константы С, такой, что С - X> 0. Обратный и дополнительные коды отличаются вы­бором этой константы.

Для дополнительного кода отрицательное число Z. представляем как

Z= -X = (10n - X) – 10n,

где Z< 0, X> 0, n - величина разрядной сетки, а 10n - X - дополнительный код числа.

Для обратного кода отрицательное число Z представляем как

Z = -Х = (10n-1-X) – 10n+1,

где Z<0, Х>0, n - величина разрядной сетки, а 10n -1-Х- обратный код числа.

Например, определим машинные коды чисел +31 и -31 в естественной форме Н. Отметим, что самый старший разряд - знаковый.

Для числа +31 прямой, дополнительный и обратный коды выглядят одинаково:

анп= Ан° = Анд = 0000 0000 0001 11112 .

Для числа -31 прямой код выглядит как

Анп= 100000000001 11112.

Для построения дополнительного кода берем константу

1015 = 1 000 0000 0000 0000

и получаем

АНД = 1111 1111 111000012.

При построении обратного кода константа равна

1015- 1 = 111 1111 1111 1111 и Ан° = 1111 1111 1110 00002.

Рассмотрим правила образования двоичных машинных кодов:

· положительное число в прямом, обратном и дополнительном кодах выглядит одинаково;

· прямой код отрицательных и положительных чисел имеет различное значение только в знаковом разряде, модуль числа не изменяется;

· обратный код отрицательного числа получается из прямого кода пу­тем замены единиц на нули и нулей на единицы, исключая знаковый разряд;

· дополнительный код получается из обратного прибавлением едини­цы к младшему разряду (перенос в знаковый разряд при этом теря­ется);

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

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



Дата добавления: 2016-05-31; просмотров: 4686;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.