Java 128位融合乘法和除法 - 有高效的算法吗? [重复]

问题描述 投票:0回答:1

我有一个非常具体的算法,需要在Java中进行大量的

(a * b) / c
计算,其中:

  • a
    b
    是 64 位长整型
  • a*b
    可能会溢出到 128 位(并非总是如此,但至少相当常见)
  • c
    是 64 位长
  • 结果
    (a * b) / c
    应该适合64位长
  • 我们需要检测是否溢出,但在这种情况下结果并不重要

是否有一种高效的高性能算法来执行这种融合乘法和除法:

  • 没有内存分配(例如不允许构造
    BigInteger
    s)。
  • 它仅使用简单/快速的CPU操作
  • 产生精确的整数结果
  • 它在
    O(1)
    空间中运行(无递归等)
java algorithm performance integer-arithmetic
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.