13 位运算符
位运算符 位运算符有哪些? & 位与 | 位或 ^ 位异或 >> 向右移 >>> 无符号右移 << 向左移 位运算符都是操作的二进制 用法: &,|,^ 的用法 &:有0则0 |:有1则1 ^:相同则0,不同则1 例: System.out.println(6 & 3); //2 System.out.println(6 | 3); //7 System.out.println(6 ^ 3); //5 分析: 上面这些运算符会将数字转换成2进制再进行运算。6的二进制是110,3的二进制是011。根据上面的用法规则里面,列几个竖式: 110 & 011 ----------- 010 十进制的2 110 | 011 ----------- 111 十进制的7 110 ^ 011 ----------- 101 十进制的5 ^的特点:一个数据对另一个数据位异或两次,该数本身不变。 例: System.out.println(5 ^ 10 ^ 5); 左移和右移 <<:左移 左边最高位丢弃,右边补齐0 >>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1 >>>:无符号右移 无论最高位是0还是1,左边补齐0 例: //右移,向右移动n位就是除以2的n次幂,向左移动n位就是乘以2的n次幂 //System.out.println(12 >> 1); //System.out