Общие сведения. Деление двоичных чисел производится так же, как и деление деся­тичных чисел

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

Пусть требуется разделить однобайтное число без знака Х= 11010011 на однобайтное число без знака У=00001011. Вручную деление осущес­твляется следующим образом:

11010011 | 1011

1011 10011

10001

1011

1101

1011

Выделяется часть делимого, начиная со старшего разряда таким образом, чтобы она была не меньше делителя, и из нее вычитался делитель, а в частное записывается 1. К остатку, полученному при вычи­тании, сносится следующая цифра делимого и производится сравнение полученного таким образом остатка с делителем. Если остаток не мень­ше делителя, то в следующий более младший разряд частного записы­вается 1. Если остаток меньше делителя - записывается 0. Затем к остатку добавляется следующая цифра делителя и снова производится сравнение остатка с делителем для определения следующей цифры частного. Аналогично производятся операции до тех пор, пока не исполь­зуются все цифры делимого. При делении заданных чисел получается частное Z=10011 и остаток f=10.

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

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

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

_ 11010011 | 1011.

1011 00010011

1010 0

1011

11

1011

1000 0

1011

110

1011

101 0

1011

1101

1011

100 1

1011

111 0

1011

1000

1011

11 0

1011

10001

1011

1101 1

1011

10 1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: