Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Представление чисел в ЭВМ. Прямой, обратный и дополнительный коды. (Лекция 4)




 

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

В ВТ применяют прямой, обратный и дополнительный коды.

Прямой двоичный код Рпр(х) — это такое представление двоичного числа х, при котором знак «+» кодируется нулем в старшем разряде числа, а знак «-» — единицей. При этом старший разряд называется знаковым.

Например, числа +5D и -5D, представленные в прямом четырехразрядном коде, выглядят так: +5D = 0'101 В; -5D = 1'101. Здесь апострофом условно (для удобства определения знака) отделены знаковые разряды.

Обратный код Робр(х) получается из прямого кода по следующему правилу:

Из приведённого выражения видно, что обратный код для положительных чисел совпадает с прямым кодом. Чтобы представить отрицательное двоичное число в обратном коде, нужно оставить в знаковом разряде 1, во всех значащих разрядах заменить 1 на 0, а 0 на 1. Такая операция называется инвертированием и обозначается горизонтальной чертой над инвертируемым выражением

Пример 4. Получить обратный код для числа.х =-11D.

Решение.

 

Считается, что здесь числа представлены пятью разрядами. Из рассмотренного примера видно, что обратный код для положительных чисел совпадает с прямым, а для отрицательных чисел получается инверсией (переворотом) всех разрядов, кроме знакового разряда.

Дополнительный код Рдоп(х) образуется следующим образом:

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

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

Пример 5. Получить дополнительный код для числа

х = -13D.

Решение.

Pnp(x) = (1'1101)прямой код

Робр(х) = (1’0010) обратный код

Рдоп(х) = (1’0011) дополнительный код.

 

 

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

 

Пример 6. Выполнить алгебраическое сложение с использованием дополнительного кода для чисел х1 =7D х2- -3D.

Решение.

Необходимо найти сумму: у = х1 + х2.

Учитывая, что х1 >0, это число нужно представить в прямом коде, а так как х2 < О, то х2 нужно перевести в дополнительный код.

Так как результат положителен (в знаковом разряде Р(у) — 0), значит, он представлен в прямом коде. После перевода двоичного числа в десятич­ную СС получим ответ: у = +4D.

Пример 7. Выполнить алгебраическое сложение с использованием дополнительного кода для чисел X; = 8D и х2 - -13D.

Необходимо найти сумму: у = x1 + х2.

Число х1нужно представить в прямом коде, а х2 — в дополнительном коде.

В знаковом разряде стоит единица, и, значит, результат получен в до­полнительном коде. Для перехода от дополнительного кода

Рдоп(у)=1’1011В к прямому коду Рпр(у) необходимо выполнить следующие преобразования:

Робр(y) = Рдоп(у) -1 =1’1011-1=1’1010

Рпр(y) = Робр(y) = 1’Инв(1010) = 1’0101В. Переходя от двоичной СС к десятичной СС, получим ответ: у = -5D.

 

 





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


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 605 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Слабые люди всю жизнь стараются быть не хуже других. Сильным во что бы то ни стало нужно стать лучше всех. © Борис Акунин
==> читать все изречения...

2193 - | 2115 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.