All streams
Search
Write a publication
Pull to refresh

Comments 7

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

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

В свое время реализовывал его и я, на ассемблере i8080.

А ещё... если его обобщить на десятичную систему, то окажется, что мы его изучали в школе. Это алгоритм деления столбиком)

Статью плюсанул)

Не знаю. Я в школе такого не изучал. Только деление в столбик.

А... вот в чем дело. В статье описан алгоритм, называемый "non-restoring division". Именно он и применяется везде. Мне же знаком "restoring division". Различия у них небольшие, но первый немного эффективнее. Именно эту разницу я воспринял как "непонятное усложнение". Каюсь, это не усложнение, а оптимизация)

Ну вот, узнал что-то новое, спасибо за статью)

Может быть. Я не разбираюсь в названиях алгоритмов деления.

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

Поток сознания для тех кто в теме? Хорошо бы предупредить об этом в начале статьи.

Постановка задачи в виде одной формулы без разъяснения проблематики? Алгоритм необходимо извлекать из куска кода?

Что такое q, r, A, D,..? Какой смысл несут квадратные скобки в приведенных формулах?

Да, согласен, тут больше ориентировано на С++. Квадратные скобки - это из плюсов. Фактически, функция возвращает пару и мы таким образом создаём имена для первого и второго элементов.

Sign up to leave a comment.

Articles