Po上来,方便用到。。考前利器啊
1 // & 运算符优先级大于 | 2 // 先运算4&5得 101 3 // 然后从左至右进行或运算1|10|11得11 4 // 最后运算11和101的或运算得111 5 int x = 1 | 2 | 3 | 4 & 5; 6 7 // 0x10 = 00010000 = 16 8 // 0x 开始表示 16进制 9 // 0 开始表示 8 进制 10 // 1、00000011 取非 = 11111100 = -4 11 // 2、与 5进行与运算 00000101 & 11111100 = 00000100 = 4 符号位也参与运算 12 // 3、 14 00001110 13 // 16 00010000 14 // 进行异或运算 00011110 = 30 15 // 4、 30左移4位 = 111100000 = 0740 = 0x1e0 = 480 16 short x_8 = 0740; 17 short x_16 = 0x1e0; 18 short x1 = (14 ^ 0x10) << (5 & ~3); 19 20 // >> 和 << 是带符号位的移位 21 // >>> 是无符号位的移位 22 // -2 = 10000010 <-- 这是原码 计算机中是用补码表示 即: 11111110 23 // 右移 5 位得 1111111111110 后面的5位被舍弃得 11111111 24 // 带符号位的位移运算,正数左侧补0,负数左侧补1 25 // 2 >> 5 = 0 26 // -2 >> 5 = -1 27 int x2 = -2 >> 5;