具有多个基础的Java乘法

时间:2015-03-30 20:20:17

标签: java multiplication

大家好,我坚持这个功课,任务是将两个BigInteger数字相乘。我应该使用基数k。但结果不对。有人可以给我一个暗示,我认为问题就是shiftleft。

    public BigInteger multBaseKBit(BigInteger a, BigInteger b, int k) {
    BigInteger result = new BigInteger("0");
    BigInteger tmp = new BigInteger("0");
    for (int i = 0; i < b.bitLength();) {

        if (b.testBit(i)) {
            tmp = a;
            tmp = tmp.shiftLeft(i);
            result = result.add(tmp);
            System.out.println(result);

        }
        i = i + k;
    }
    return result;
}

0 个答案:

没有答案