我需要一些可以处理大整数(128位)的除法算法.我已经问过如何通过位移操作符来做到这一点.但是,我目前的实施似乎要求更好的方法
基本上,我将数字存储为long long unsigned int格式中的两个
A * 2 ^ 64 + B与B < 2 ^ 64.
这个数字可以被整除24,我想将它除以24.
我目前的做法是改变它
A * 2 ^ 64 + B A B
-------------- = ---- * 2^64 + ----
24 24 24
A A mod 24 B B mod 24
= floor( ---- ) * 2^64 + ---------- * 2^64 + floor( ---- ) + ----------
24 24.0 24 24.0
Run Code Online (Sandbox Code Playgroud)
然而,这是错误的.
(需要注意的是地板A / 24,并且 …