我需要对4个字节执行XOR运算,这些字节表示为单个字节
b[0]=97;
b[1]=98;
b[2]=99;
b[3]=100;
int temp=0;
int temp1=0;
int temp2=0;
int temp3=0;
int temp4=0;
temp1=temp1|b[0];
temp1=temp1<<24;
temp2=temp2|b[1];
temp2=temp2<<16;
temp3=temp3|b[2];
temp3=temp3<<8;
temp4=temp4|b[3];
temp=temp4|temp3|temp2|temp1;
我使用上面的代码将四个字节转换为一个整数。现在我如何在一个字节中表示这个整数
答案 0 :(得分:0)
// Assuming you have 2 byte arrays that you want to XOR
byte[] ba1 = new byte[4];
byte[] ba2 = new byte[4];
// Just filling up with arb. values
ba1[0] = 99;
ba1[1] = 100;
ba1[2] = 101;
ba1[3] = 102;
ba2[0] = 10;
ba2[1] = 11;
ba2[2] = 12;
ba2[3] = 13;
// To store the XOR in ba1 (or new byte[] if you want)
ba1[0] = ba1[0] ^ ba2[0];
ba1[1] = ba1[1] ^ ba2[1];
ba1[2] = ba1[2] ^ ba2[2];
ba1[3] = ba1[3] ^ ba2[3];
现在,如果需要,您可以再次将其转换为整数。但是从我如何理解你的问题,你实际上想要byte[]
格式。