我需要将以字节数组表示的数字以非标准数量的字节进行划分。它可能是5个字节,也可能是1GB或更多。划分应该使用以字节数组表示的数字进行,而不需要将其转换为数字。
我需要将以字节数组表示的数字以非标准数量的字节进行划分。它可能是5个字节,也可能是1GB或更多。划分应该使用以字节数组表示的数字进行,而不需要将其转换为数字。
分治方法在处理大整数时要比传统的学校算法快得多。
GMP 是一款先进的大整数库,它为几乎所有的操作提供了针对特定操作数大小的不同算法实现。
这里 是GMP关于“除法算法”的文档。虽然算法描述略显简洁,但至少可以让你搜索更多信息。
Brent和Zimmermann的《现代计算机算术》 是一本关于大整数算术理论和实现的好书。如果你想知道已知的内容,那么阅读这本书可能是值得的。
标准长除法算法类似于小学长除法,被称为D算法,在Knuth 4.3.1中进行了描述。Knuth在他的书的这一部分对除法进行了广泛的讨论。结果是,确实有比D算法更快的方法,但它们的速度提升不是很大,而且它们比D算法复杂得多。
如果你决定要获得最快的算法,可以使用所谓的SRT算法。
另外,维基百科的除法算法页面上也包含了以上内容以及更多其他信息。