位运算符

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)    按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 
相关文章
相关标签/搜索