JAVA 位运算符和位移运算符
java位运算符包括
&(与) AND
|(或) OR
^(异或) XOR
~(非) NOT
位移运算符包括
>>(右移)
<<(左移)
>>>(右移,右边空出的位以0填充)
顾名思义,位运算符用于位运算,那就只能对整型或者字符型进行运算。而除了~(非)是一元运算符之外其他的都为二元运算符。
所有位运算都会把值转为二进制进行运算
&(与)
运算规则:0&0=0 0&1=0 1&0=0 1&1=1
即:两位同时为1时,结果为1,否则为0
int a=(3&5); System.out.println(a); System.out.println(Integer.toBinaryString(3)); System.out.println(Integer.toBinaryString(5));
int a=(3|5); System.out.println(a); System.out.println(Integer.toBinaryString(3)); System.out.println(Integer.toBinaryString(5));
int a=(3^5); System.out.println(a); System.out.println(Integer.toBinaryString(3)); System.out.println(Integer.toBinaryString(5));
int a=(3<<2); System.out.println(a); System.out.println(Integer.toBinaryString(3)); System.out.println(Integer.toBinaryString(12));
int a=(9>>1); System.out.println(a); System.out.println(Integer.toBinaryString(9)); System.out.println(Integer.toBinaryString(4));