Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1.doc
Скачиваний:
15
Добавлен:
10.06.2015
Размер:
278.53 Кб
Скачать

2.3. Арифметические операции в эвм

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

Сложение производится поразрядно, начиная с младших разрядов. Если сумма Si чисел i-х разрядов двух слагаемых превышает или равна основанию Р системы счисления, то в i-й разряд суммы записывается разность Si - Р, а к следующим (i +1)-м разрядам слагаемых переносится 1 в виде дополнительного слагаемого.

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

Обратный и дополнительный коды положительного числа, есть само число.

Обратный код отрицательного числа получается путём вычитания цифры каждого его разряда из числа (Р-1), где Р – основание данной системы счисления. Применительно к двоичным числам эта операция равносильна инвертированию. Код представления результата определяется по следующему правилу. Если перенос из старшего разряда равен 1, то результат положителен, представлен в прямом коде, но на 1 меньше истинного. В противном случае результат отрицателен и представлен в обратном коде.

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

Обратные преобразования производятся по тем же правилам.

В силу большей простоты представления результата вычитания, в ЭВМ используется дополнительный код.

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

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

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

  • результат меньше 1/2, то есть старшие разряды мантиссы нулевые. Если при этом результат представлен в прямом коде, мантисса сдвигается влево до тех пор, пока первая значащая 1 не окажется в старшем разряде. Если же результат представлен в обратном или дополнительном коде (отрицательный), производится сдвиг влево до появления в старшем разряде первого значащего нуля. При каждом сдвиге значение порядка уменьшается на 1;

  • результат больше 1, то есть разрядная сетка переполнена. В этом случае мантисса сдвигается вправо на один разряд с одновременным увеличением порядка на 1.

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

ПРАВИЛА ВЫПОЛНЕНИЯ АРИФМЕТИЧЕСКИХ ДЕЙСТВИЙ

Сложение

Вычитание

Умножение

0+0 =0

0 – 0 =0

0 х 0 = 0

0 + 1 = 1

1 – 0 =1

0 х 1 = 0

1 + 0 =1

1 – 1 = 0

1 х 0 = 0

1 + 1 = 10

10 – 1 = 1

1 х 1 = 1

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

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

Например, числа +9D и – 9D, представленные в прямом пятиразрядном коде

+9D

0

1

0

0

1

B

9D

1

1

0

0

1

B

Здесь апострофом отделены знаковые разряды.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]