2012-02-16 64 views
1

我有兩個需要添加的小端字節數組。顯然這個代碼不起作用。添加兩個小端字節數組

for (int i=0;i<bytes1.getB1().length;i++){ 
    bAdded[i]=(byte) (bytes1[i]+bytes2[i]); 
} 

如何添加這兩個小端字節數組?

回答

0

你的意思是「不起作用」?

如果你的意思是,它沒有執行字節之間攜帶,這裏是你如何能做到這一點:

int carry = 0; 

for (int i = 0; i < bytes1.getB1().length; i++) { 
    int sum = bytes1[i] + bytes2[i] + carry; 
    bAdded[i] = (byte) sum; 
    carry = sum >> 8; 
} 

bAdded[bytes1.getB1().length] = carry; 
+1

我不認爲這是正確的 - 你永遠不賦值爲'carry'。它可能應該是'carry = sum >> 8;'。 – 2012-02-16 03:11:36

+0

我的意思是不起作用,導致小端格式,在我的代碼中,字節數組被視爲沒有小端。 – Fischer 2012-02-16 13:42:14

+0

@熱舔:你是對的;固定。菲捨爾:我不知道你的意思是「像沒有小端的對待」。 – MRAB 2012-02-16 18:00:18