有有效的算法吗?

7xzttuei  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(318)

这个问题在这里已经有答案了

(a*b)/c muldiv和处理中间乘法溢出(5个答案)
5个月前关门了。
我有一个非常具体的算法,需要做大量的计算 (a * b) / c 在java中,其中: a 以及 b 是64位长的 a*b 可能会溢出到128位(不总是这样,但至少相当常见) c 是64位长的
结果呢 (a * b) / c 应该适合64位的长度(我们需要检测它是否溢出,但在这种情况下结果并不重要)
有没有一个有效的算法来做这种融合乘除?我很自然地试着用 BigInteger 工作正常,但速度慢得让人无法接受(这需要高性能代码)。

相关问题