2012-02-16 90 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