Comments 7
Мне одному кажется, что здесь описан обычный алгоритм деления в двоичной арифметике, используемый во всех без исключения вычислительных устройствах?) только, кажется, с какими-то непонятными усложнениями....
В старых процессорах без команды деления его реализовывали явно. В современных - на уровне микропрограммы. Возможно, применяются некоторые оптимизации...
В свое время реализовывал его и я, на ассемблере i8080.
А ещё... если его обобщить на десятичную систему, то окажется, что мы его изучали в школе. Это алгоритм деления столбиком)
Статью плюсанул)
А... вот в чем дело. В статье описан алгоритм, называемый "non-restoring division". Именно он и применяется везде. Мне же знаком "restoring division". Различия у них небольшие, но первый немного эффективнее. Именно эту разницу я воспринял как "непонятное усложнение". Каюсь, это не усложнение, а оптимизация)
Ну вот, узнал что-то новое, спасибо за статью)
Поток сознания для тех кто в теме? Хорошо бы предупредить об этом в начале статьи.
Постановка задачи в виде одной формулы без разъяснения проблематики? Алгоритм необходимо извлекать из куска кода?
Что такое q, r, A, D,..? Какой смысл несут квадратные скобки в приведенных формулах?
Вычисление обратной величины целого числа и его применение в алгоритме деления чисел