我正在尝试使用字节数组(byte [])来实现我自己的BigInteger版本来表示整数。截至目前,我的添加方法有效:
public static byte[] add(byte[] data1, byte[] data2) {
if(data1.length!=65 || data2.length!=65)
throw new IllegalArgumentException();
byte[] result=new byte[65];
for(int i=64, overflow=0; i>=0; i--) {
int v = (data1[i]&0xff)+(data2[i]&0xff)+overflow;
result[i]=(byte)v;
overflow=v>>>8;
}
return result;
}
但是,我在实现减法方法时遇到了麻烦。有没有办法让我相对容易地从我的加法方法推断减法,或者完全是另一个过程。谢谢!
答案 0 :(得分:1)
我有什么方法可以相对容易地从我的加法中推断减法,或者完全是另一个过程。
实现否定,减法可以是
add(arg1, negate(arg2))