Арифметические основы ЭВМ


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

Таблица 2.2 Правила сложения двоичных цифр

 

Здесь показаны правила сложения двоичных цифр аi, bi, одноимен­ных разрядов с учетом возможных переносов из предыдущего разря­да рi-1.

Подобные таблицы можно было бы построить для любой другой арифметической или логической операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу выполнения любой операции ЭВМ. Под знак чисел отводится специальный знако­вый разряд. Знак «+» кодируется двоичным нулем, а знак «-» — еди­ницей. Действия над прямыми кодами двоичных чисел при выполне­нии операций создают большие трудности, связанные с необходимос­тью учета значений знаковых разрядов:

• во-первых, следует отдельно обрабатывать значащие разряды чи­сел и разряды знака;

• во-вторых, значение разряда знака влияет на алгоритм выполнения операции (сложение может заменяться вычитанием и наоборот). Во всех без исключения ЭВМ все операции выполняются над чис­лами, представленными специальными машинными кодами. Их ис­пользование позволяет обрабатывать знаковые разряды чисел так же, как и значащие разряды, а также заменять операцию вычитания опе­рацией сложения.

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

Машинные коды

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

Пример 2.5.

Точечной вертикальной линией здесь отмечена условная граница, отделяющая знаковый разряд от значащих.

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

Пример 2.6.

Свое название обратный код чисел получил потому, что коды цифр отрицательного числа заменены на инверсные. Укажем наиболее важ­ные свойства обратного кода чисел:

• сложение положительного числа С с его отрицательным значени­ем в обратном коде дает так называемую машинную единицу МЕок=1¦ 11…111, состоящую из единиц в знаковом и в значащих разрядах числа;

• нуль в обратном коде имеет двоякое значение. Он может быть как положительным числом — 0¦ 00...0, так и отрицательным — 1 ¦ 11...11. Значение отрицательного нуля совпадает с МЕок. Двой­ственное представление нуля явилось причиной того, что в совре­менных ЭВМ все числа представляются не обратным, а дополни­тельным кодом.

Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет со­бой результат суммирования обратного кода числа с единицей млад­шего разряда (20 — для целых чисел, 2-kдля дробных).

Пример2.7.

Укажем основные свойства дополнительного кода:

• сложение дополнительных кодов положительного числа С с его от­рицательным значением дает так называемую машинную едини­цу дополнительного кода:

МЕдк=МЕок+20=10¦ 00...00,

т.е. число 10 (два) в знаковых разрядах числа;

• дополнительный код получил такое название потому, что пред­ставление отрицательных чисел является дополнением прямого кода чисел до машинной единицы МЕдк.

Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак «+» в этих кодах кодируется двумя нулевыми знаковыми разрядами, а знак «-» — двумя единичными разрядами.

Пример 2.8.

Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения неправильного результата, когда значение результата превышает максимально возможный результат в отведенной разрядной сетке машины. В этом случае перенос из зна­чащего разряда может исказить значение младшего знакового разря­да. Значение знаковых разрядов «01» свидетельствует о положитель­ном переполнении разрядной сетки, а «10» — об отрицательном пере­полнении. В настоящее время практически во всех моделях ЭВМ роль удвоенных разрядов для фиксации переполнения разрядной сетки иг­рают переносы, идущие в знаковый и из знакового разряда.



Дата добавления: 2017-01-26; просмотров: 4019;


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

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

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

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