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

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

Сложение

Вычитание

Умножение

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

Например:

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

Прямой код складывается из знакового разряда (старшего) и собственно числа. Знаковый разряд имеет значение

0 – для положительных чисел;

1 – для отрицательных чисел.

Например: прямой код для чисел –4 и 5:

-4 410=1002 1_100

5 510=1012 0_101

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

Например:

Прямой код 1_100 1_101

Обратный код 1_011 1_010

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

Например: найти дополнительный код -710

-710=1112

Прямой код 1_111

Обратный код 1_000

Дополнительный код :1_001 (1_000+1)

Правило сложения двоичных чисел:

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