Правила выполнения арифметических действий над двоичными числами задаются таблицами сложения, вычитания и умножения.
Сложение |
Вычитание |
Умножение |
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)
Правило сложения двоичных чисел:
При алгебраическом сложении двоичных чисел с использованием дополнительного кода положительные слагаемые представляют в прямом коде, а отрицательные – в дополнительном коде. Затем производят суммирование этих кодов, включая знаковые разряды, которые при этом рассматриваются как старшие разряды. При возникновении переноса из знакового разряда единицу переноса отбрасывают. В результате получают алгебраическую сумму в прямом коде, если эта сумма положительная, и в дополнительном коде, если сумма отрицательная.