位运算符

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。

位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;它们的二进制格式表示将如下:

A = 0011 1100
B = 0000 1101


A&B = 0000 1100    
如果相对应位都是1,则结果为1,否则为0
 A | B = 0011 1101    如果相对应位都是0,则结果为0,否则为1
 A ^ B = 0011 0001    如果相对应位值相同,则结果为0,否则为1
 ~A= 1100 0011      按位取反运算符翻转操作数的每一位,即0变成1,1变成0
a<<2 =240  60*2*2=240(1111 0000)  按位左移运算符。左操作数按位左移右操作数指定的位数。
a>>2 =15  60/2/2=15(1111) 按位右移运算符。左操作数按位右移右操作数指定的位数 
a>>>2 =15(0000 1111)    按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 
 

posted on 2019-08-25 21:05  无名小猝  阅读(126)  评论(0编辑  收藏  举报

导航