Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основы знаковой арифметики

 

Сложение и вычитание беззнаковых чисел

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

 

Прямой код

Прямой код (ПК) используется для представления знаковых чисел. При этом старший разряд числа является знаковым (0 – «+», 1 – «-»), а оставшиеся разряды – значащими (модулем числа). Например: +142 = 0.1110, –142 = 1.1110.

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

Рассмотрим выполнение операции сложения чисел в ПК. Алгоритм сложения имеет следующий вид.

 
 

 

 


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

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

Таким образом, при сложении чисел в ПК признаком переполнения является наличие переноса из старшего разряда при сложении модулей чисел.

 

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

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

Перевод чисел из ПК в ДК выполняется по следующим правилам:

Положительное число в ДК такое же, как и в ПК.

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

Например.

0.1010ПК = 0.1010ДК = 1010.

1.1011ПК = 1.0101ДК = –1110.

Отметим, что в ПК число 1.0000 означает то же, что и 0.0000. В дополнительном коде число 1.0000 означает число –1610 и является корректным с точки зрения ДК.

Рассмотрим выполнение операции сложения чисел в ДК.

 

 

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

Преимущества алгоритма сложения чисел в ДК по сравнению с ДК заключаются в следующем.

1. Знаки операндов участвуют в операции сложения наравне со значащими разрядами. Это приводит к тому, что знак результата формируется автоматически, без дополнительных проверок.

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

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

 

Вычитание чисел со знаком

Вычитание сводится к сложению, при этом вычитаемое предварительно умножается на минус единицу: A – B = A + (-B).

Для того, что число в ПК умножить на (-1), достаточно инвертировать знак числа.

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

После этого выполняется сложение чисел согласно ранее рассмотренным алгоритмам.

 

 

Лекция 9

<== предыдущая лекция | следующая лекция ==>
Системы счисления. Система счисления – это система записи чисел | Алгебра высказываний
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 845; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.