Я пытаюсь реализовать программу, которая делит два больших числа точности (я беру их как строки). Кто-то из другого вопроса о переполнении стека предложил реализовать алгоритм, описанный в книге «Искусство программирования» Дональда Кнута. Во время чтения у меня есть общее представление об алгоритме, но я смутился в некоторых частях.Алгоритм: алгоритм деления алгоритма Дональда Кнута
В алгоритме используется концепция долгосрочного отделения от школы. Я не понял, как программа «угадывает» цифры фактора при выполнении алгоритма.
Даже если это «догадывается», как мне разделить часть дивиденда на дивизор? Предполагая, что я должен преобразовать divisor в int ...
... что, если делитель является большим числом? Разве проблема не остается прежней?
Любая помощь будет оценена по достоинству.
Заранее спасибо.
У меня нет книги со мной в данный момент, но IIRC работает над двоичным представлением, а не с строкой, и в этом случае единственными возможными «догадками» являются 0 или 1, причем 1 является истинным, если делитель сдвинутый вверх, так что ведущий 1 находится на одном уровне с ведущим 1 дивиденда меньше. –