目录
>>(右移) 口决:挤掉右边的,在左边补,如果最左边的数字为1则补1,为0则补0.
1.Java位运算符的种类
java位运算符有 &(与) |(或) ^(异或) ~(取反) <<(左移) >>(右移) >>>(无符号右移)
(注意: 所有的位运算符都是直接对二进制的补码进行运算! 并且位运算符的两边都是数字!)
查看原码补码相关的介绍点击这里! " 我在这里!"
2.位运算符的运算演示
以下面的代码为例进行演示:
class Demo{
public static void main(String[] args){
int a=3;
int b=4;
System.out.println(a & b); //输出0
System.out.println(a | b); //输出7
System.out.println(a ^ b); //输出7
System.out.println( ~ b ); //输出-5
System.out.println( b << 2 ); //表示b左移2位,输出13
System.out.println( b >> 2 ); //表示b右移2位,输出1
System.out.println( b >>> 2 ); //表示b无符号右移2位,输出1
}
}
-
&(与) 口决:有0则0.
-
|(或) 口决:有1则1.
-
^(异或) 口决:相同为0,不同为1.
-
~(取反) 口决:按位取反,符号位也取反.
-
<<(左移) 口决:挤掉左边的,在右边补0.
简单记一下:左移n位就乘2的n次方。
-
>>(右移) 口决:挤掉右边的,在左边补,如果最左边的数字为1则补1,为0则补0.
简单记一下:右移n位就除2的n次方,取商。
-
>>>(无符号右移) 口决:挤掉右边的,在左边补直接补0.
简单记一下:无符号右移,忽略符号位,空位都以0补齐
(小编也在努力学习更多哟!以后会多多分享哒!)
希望对友友们有所帮助!!!!