針對聲明變量 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); }