В настоящее время я делаю свой собственный класс BigInt, разделив числа на 7 цифр.(т.е. в базе 10 000 000)
Я реализовал сложение, вычитание и умножение, а теперь я реализую деление и мод.Я написал код, который выполняет деление на длинное деление (вычисление чисел путем деления старших значащих цифр), и оно работает.
Однако это слишком медленно.Когда я проверяю операции над 108-значным числом и 67-значным числом, для вычисления деления требуется 1,9 мс, что намного медленнее, чем другие операции (0,007 ~ 0,008 мс для вычисления сложения / вычитания, 0,1 мс для вычисления умножения).
Как и алгоритм Карацубы и БПФ для быстрого умножения, какой алгоритм существует для вычисления деления? Википедия демонстрирует некоторые алгоритмы деления (которые вычисляют мультипликативное обратное делителя и умножают его на дивиденд), но я думаю, что это не очень помогает в реализации деления.Я тоже читаю разделы "Методы большого целого", но это мне тоже не помогает ...: (