public static byte[] int2Byte(int x){
byte[] bs=new byte[4];
bs[0]=(byte) ((int)(x>>0*8)&0xff);
bs[1]=(byte) (((int)x>>1*8)&0xff);
bs[2]=(byte) (((int)x>>2*8)&0xff);
bs[3]=(byte) (((int)x>>3*8)&0xff);
return bs;
}
不強(qiáng)制轉(zhuǎn)為int也可以運(yùn)行
byte[] bs=new byte[4];
bs[0]=(byte) ((int)(x>>0*8)&0xff);
bs[1]=(byte) (((int)x>>1*8)&0xff);
bs[2]=(byte) (((int)x>>2*8)&0xff);
bs[3]=(byte) (((int)x>>3*8)&0xff);
return bs;
}
不強(qiáng)制轉(zhuǎn)為int也可以運(yùn)行
2017-12-14
已采納回答 / Hinstro
A=A^B;B=A^B=(A^B)^B=A^(B^B)=A^0=A;A=A^B=(A^B)^A=(A^A)^B=0^B=B;∵一個(gè)數(shù)“異或”本身時(shí)等于0
2017-12-07
已采納回答 / 諸葛云飛
在本節(jié)中11001111是存放在字節(jié)byte中的,字節(jié)是8位,java中最高位表示符號(hào)位,所以byte的取值范圍是-2^7~2^7-1,即1000 0000~0111 1111,十進(jìn)制是-128~127.11001111(看作無符號(hào)十進(jìn)制是207),這是補(bǔ)碼,原碼為00110001(看作無符號(hào)十進(jìn)制是49),如果你把這個(gè)想象為無符號(hào)的(十進(jìn)制也要想象為無符號(hào),即-49為49),那相加為1 0000 0000即2^8=256,即所有的負(fù)值的byte的補(bǔ)碼和源碼想象為無符號(hào)的話之和為256
2017-12-01
//轉(zhuǎn)化byte[]為long
public static long bytes2Long(byte[] arr) {
int result = 0;
for (int i =0;i <arr.length;i++){
result += (long) ((arr[i] & 0xff) << i * 8);
}
return result;
}
老師沒有把方法中的"int" 改成"long".只有我一個(gè)人發(fā)現(xiàn)了么.同意的點(diǎn)贊!!
public static long bytes2Long(byte[] arr) {
int result = 0;
for (int i =0;i <arr.length;i++){
result += (long) ((arr[i] & 0xff) << i * 8);
}
return result;
}
老師沒有把方法中的"int" 改成"long".只有我一個(gè)人發(fā)現(xiàn)了么.同意的點(diǎn)贊!!
2017-11-19