Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
110515_INF_1_Uchebnoe_posobie_v3.doc
Скачиваний:
14
Добавлен:
08.11.2018
Размер:
934.4 Кб
Скачать

6.4. Выполнение деления

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

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

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

  3. Выполним вычитание, т.е. из образованного числа вычтем делитель и найдем разность.

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

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

5.1. Образованное число меньше делителя. В этом случае в область частного необходимо справа приписать ноль и повторить шаг 5.

5.2. Образованное число больше или равно делителя. В этом случае следует вновь выполнить шаги 2, 3, 4, 5.

Пример 6.5. Выполним деление двоичного числа 1001011001 на двоичное число 100100:

1

0

0

1

0

1

1

0

0

1

1

0

0

1

0

0

6

0

110

3

6

1

0

0

1

0

0

1

0

0

0

0

5

7

6

1

6

1

1

0

0

1

2

5

Таким образом, частным отделения будет являться число 10000, а остатком – число 11001.

6.5. Использование дополнительного кода

Как было показано, отрицательные числа хранятся в памяти ЭВМ в дополнительном двоичном коде со знаковым разрядом. Вычитание неотрицательных двоичных чисел рассматривается как сложение положительного числа с отрицательным числом, представленным в дополнительном коде, и выполняется по правилам сложения двоичных чисел.

Если при сложении возникает перенос из старшего разряда, что не приводит к искажению результата.

Порядок выполнения вычитания двух чисел с использованием представления вычитаемого в дополнительном коде:

  1. Переведем в двоичную систему счисления исходные десятичные числа.

  2. Определим количество двоичных разрядов найденных двоичных чисел и обозначим эти величины через k1 и k2.

  3. Найдем минимальное количество разрядов, необходимое для выполнения вычитания и для представления вычитаемого в дополнительном коде:

k=max(k1+1,k2+1).

  1. Найдем k- разрядный дополнительный код вычитаемого.

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

Рассмотрим примеры операций вычитания, сложения положительного и отрицательного двоичных чисел.

Пример 6.6. Сложить число 17563 с числом -1594 в двоичной системе счисления

Единица переноса

11000001100111100

1-е слагаемое

+

756310

=

01000100100110112

2-е слагаемое

-159410

=

11111001110001102

Результат

1596910

=

00111110011000012

Пример 6.7. Сложить число 1594 с числом -17563 в двоичной системе счисления

Единица переноса

0111110011000000

1-е слагаемое

+

159410

=

00000110001110102

2-е слагаемое

-1756310

=

10111011011001012

Результат

-1596910

=

11000001100111112

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