Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция4.doc
Скачиваний:
4
Добавлен:
08.11.2018
Размер:
286.21 Кб
Скачать
    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 = 0 с переводом 0 – 1 = 1 с заимствовани 1 * 1 = 1

единицы в старший разряд ем единицы из старшего

разряда

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

перенос 1 1 1

1 0 1 1 0 1.0 1 1

+

1 0 1 1 0. 1 0 0

1 0 0 0 0 1 1. 1 1 1

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

1 1 0 1 1.1 0

-

1 1 0 1.0 1

1 1 1 0.0 1

Умножение производится аналогично умножению в столбик десятичных чисел. Пример умножения двоичных чисел 1011.1 * 101.01.

1 0 1 1.1

*

1 0 1.0 1

1 0 1 1 1

0 0 0 0 0

1 0 1 1 1

0 0 0 0 0

1 0 1 1 1

1 1 1 1 0 0. 0 1 1

Здесь положение точки определяется также как и при умножении десятичных чисел.

Деление чисел в двоичной системе производится аналогично делению чисел в десятичной системе. Чтобы избавиться от точки, необходимо ее перенести на одинаковое количество разрядов в делимом и делителе с записью недостающего нуля в делимом. Например, необходимо поделить число 1100.011 на 10.010.

1100011 10010

10010 101.1

11011

10010

10010

10010

00000

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

  • прямой,

  • обратный,

  • дополнительный.

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

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

П р я м о й к о д

Прямой код двоичного числа содержит цифровые разряды, слева от которых записывается знаковый разряд, который выполняет не роль з н а к а, а роль значущей цифры числа. Например, целое положительное двоичное число х=+11010 в прямом коде будет иметь вид = 011010, а отрицательное число у=- 10011 будет иметь вид = 110011. В этих кодах знаковые разряды выполняют роль значащих цифр.

О б р а т н ы й к о д

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

у= -10011 имеет прямой код = 110011, то его обратный код будет иметь вид =101100. Здесь знаковый разряд не меняет своего значения, а цифровые разряды заменены противоположными значениями.

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

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

То есть, если обратный код числа у= -10011 представляет собой

= 101100,

то дополнительный код будет иметь вид

101100

+

1

101101

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

  • при использовании обратного кода, возникающая единица переноса из знакового разряда прибавляется к младшему разряду суммы,

  • при использовании дополнительного кода, возникающая единица переноса отбрасывается.

Например, требуется сложить два числа х = = и у=.

Прямой код для положительного числа х имеет вид

Прямой код для отрицательного числа у

Обратный код для отрицательного числа у

Дополнительный код для отрицательного числа у

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

0110

+

1100

10010

+

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

В результате получается

х + у = 0011 =

Операция сложения с использованием дополнительного кода

0110

+

1101

10011

отбрасывание

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