Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
модуль1_ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ.doc
Скачиваний:
45
Добавлен:
11.02.2015
Размер:
1.43 Mб
Скачать

Сложение

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

Пример.

Сложить два числа в двоичной системе счисления

Вычитание

Операция вычитания двоичных чисел аналогична операции в десятичной системе счисления. Операция вычитания начинается, как и сложение, с МЗР. Если содержимое разряда уменьшаемого меньше содержимого одноименного разряда вычитаемого, то происходит заем 1 из соседнего старшего разряда. Операция повторяется над всеми разрядами операндов от МЗР до СЗР.

Пример.

Умножение

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

Пример.

Вычислить произведение 17(10)× 12(10)в двоичной системе счисления.

Деление

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

Пример.

Вычислить 204(10): 12(10)в двоичном коде:

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

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

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

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

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

Пример.

Даны два числа (А и В) в десятичной системе счисления. Требуется записать их прямой код.

А(10)= +10 А(2)= +1010 Апк=0 1010

В(10)= -15 В(2)= -1111 Впк=1 1111

Обратный код образуется по правилу:

  1. обратный код положительного числа совпадает с его прямым кодом;

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

Пример.

Даны два числа (А и В) в десятичной системе счисления. Требуется записать их обратный код.

А(10)= +5 А(2)= +101 Апк=0 101 Аок=0 101

В(10)= -13 В(2)= -1101 Впк=1 1101 Вок=1 0010

Сложение положительного числа с его отрицательным значением в обратном коде дает так называемую машинную единицу МЕок=1…1111……..

Нуль в обратном коде имеет двоякое значение: он может быть как положительным числом (0…00000….), так и отрицательным (1…11111….). Значение отрицательного нуля совпадает с МЕок. Такое двойственное представление нуля есть причина того, что в современных ЭВМ все числа представляются не обратным, а дополнительным кодом.

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

Пример.

Даны два числа (А и В) в десятичной системе счисления. Требуется записать их в дополнительном коде.

А(10)=+19 А(2)=+10011 Апк=0 10011; Аок=0 10011 Адк=0 10011

В(10)=-13 В(2)=-1101 Впк=1 1101 Вок=1 0010 Вдк=1 0010 (+1) =0011

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

Пример.

1. Дано число А(10)= - 44 А(2)= - 101100 Апк=1 101100

Адк=1 010100

2. Дано число А(10)= - 23 А(2)= - 10111 Апк=1 10111

Адк=1 01001

Преобразование кодов при алгебраическом сложении:

А+В = А+В -А+В = (-А)+В

А-В = А+(-В) -А-В = (-А)+(-В)