А = 141, В = 13, С = 10, R = 11.
Минимальный формат для выполнения операции – n=4 (формат делителя).
А = (141)10 = (10001101)2
В = (13)10 = (1101)2
N шага | Операнды | Действия | Комментарии | |
Делимое/остаток старш. разр. | Делимое/остаток младш. разр. | |||
А В R0<0 | _1 0 0 0 1 1 0 1 1 0 1 1 | 1 1 0 1 1 1 0 1 | Делимое корректно | |
B R1>0 | + 0 1 1 1 1 1 0 1 0 1 0 0 | 1 0 1¦ 0 ¦ 1 0 1¦ 1 | ||
B R2<0 | _ 1 0 0 1 1 1 0 1 1 1 0 0 | 0 1¦ 1 0 ¦ 0 1¦ 1 0 | ||
B R3>0 | + 1 0 0 0 1 1 0 1 0 1 0 1 | 1¦ 1 0 0 ¦ 1¦ 1 0 1 | ||
B R4<0 | _ 1 0 1 1 1 1 0 1 1 1 1 0 | 1 0 1 0 1 0 1 0 | частное = (10)10 | |
B R | 1 1 0 1 1 0 1 1 | Коррекция остатка. Остаток = (11)10 |
Пояснения к примеру.
1. Формируемые на каждом шаге (кроме первого) цифры частного помещаются в освобождающийся при сдвиге влево младший разряд остатка.
2. Знак остатка определяется наличием или отсутствием переноса из старшего разряда при сложении или заема в старший разряд при вычитании. Наличие переноса при сложении свидетельствует о получении положительного остатка, а его отсутствие – о получении отрицательного остатка. В свою очередь наличие заема при вычитании свидетельствует о получении отрицательного остатка, а его отсутствие – о получении положительного остатка.
3. По результату пробного вычитания на начальном (нулевом) шаге осуществляется проверка корректности деления, поэтому на данном шаге никакой цифры частного не формируется.