针对声明变量 int i = 3,j = 8;
int占4个字节,i = 3 在Java二进制表示: 00000000 00000000 00000000 00000011 j = 8 在Java二进制表示: 00000000 00000000 00000000 00001000 下面进行运算: 1、按位与:每一位进行按位与运算,规则是 1&1 = 1;1&0 = 0;0&1 = 0;0&0 = 0; 所以i & j = 0 2、右位移或者左位移 i>>2 = 0 向右位移两位,右边使用0补位,变成: 00000000 00000000 00000000 00000000 i<<2 = 12 向左位移两位,左边使用0补位,变成: 00000000 00000000 00000000 00001100所以使用Int转byte方法
public byte[] intToByte(int val){byte[] b = new byte[4];b[0] = (byte)(val & 0xff);b[1] = (byte)((val >> 8) & 0xff);b[2] = (byte)((val >> 16) & 0xff);b[3] = (byte)((val >> 24) & 0xff);}