2015-09-16 66 views
-1

有沒有簡單的方法來添加字節數組?在Java中添加無限大小的字節陣列

我的意思是一個數學添加(無連接):

00 00 FF  
00 00 FF 
-------- 
00 01 FE 

我可以通過字節數組轉換成數字格式實現這一點,但這種方法是由數字格式的最大值限制。我需要一個能夠處理比標準格式更大的值的解決方案。

+2

向我們展示您的嘗試 –

+3

您嘗試過BigInteger嗎? – nneonneo

+2

可能重複的[如何在java中添加兩個數字的任何長度?](http://stackoverflow.com/questions/3748846/how-to-add-two-numbers-of-any-length-in-java) – dimo414

回答

3

您可以使用BigInteger,它的大小沒有理論上的限制。實際上,如果字節數太大而不適合內存,則需要採取不同的方法。

public void test() { 
    BigInteger a = new BigInteger(new byte[]{(byte) 0x00, (byte) 0x00, (byte) 0xff}); 
    BigInteger b = new BigInteger(new byte[]{(byte) 0x00, (byte) 0x00, (byte) 0xff}); 

    System.out.println(a.toString(16) + "+" + b.toString(16) + "=" + a.add(b).toString(16)); 
} 

打印ff+ff=1fe

+0

非常感謝。 – Jolinar