字节数组减法

时间:2017-04-12 17:58:55

标签: java arrays biginteger

我正在尝试使用字节数组(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;
  }

但是,我在实现减法方法时遇到了麻烦。有没有办法让我相对容易地从我的加法方法推断减法,或者完全是另一个过程。谢谢!

1 个答案:

答案 0 :(得分:1)

  

我有什么方法可以相对容易地从我的加法中推断减法,或者完全是另一个过程。

实现否定,减法可以是

add(arg1, negate(arg2))