关于BigInteger.java的一点疑问

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:39:32
long carry = 0;
for (int j=ystart, k=ystart+1+xstart; j>=0; j--, k--) {
long product = (y[j] & LONG_MASK) *
(x[xstart] & LONG_MASK) + carry;
z[k] = (int)product;
carry = product >>> 32;
}
z[xstart] = (int)carry;
*****************************************************************
for (int i = xstart-1; i >= 0; i--) {
carry = 0;
for (int j=ystart, k=ystart+1+i; j>=0; j--, k--) {
long product = (y[j] & LONG_MASK) *
(x[i] & LONG_MASK) +
(z[k] & LONG_MASK) + carry;
z[k] = (int)product;
carry = product >>> 32;
}
z[i] = (int)carry;
}
*****************************************************************
这两部分不是重复吗?

...你倒把你看到的方法名说一下哦
是private int[] multiplyToLen(int[] x, int xlen, int[] y, int ylen, int[] z) 吗?

-------
你可以把你合的写法写出来
试试看
如果算法正确并且逻辑处理是简单了很多
那么恭喜你,你比写这个API的程序员在这个处理上技高一筹!哈