位运算-CSDN博客

77 阅读1分钟

Java 位运算

1.运算规则

按位与(&)只要有一个操作数为0,结果就为0。
按位或(|)只要有一个操作数为1,结果就为1。
按位非(~)1变为0,0变为1。
按位异或(^)两操作数对应位置相同为0,不同为1。
左位移(<<)符号位不变,低位补0。如:2<<2结果为8。
右位移(>>)低位溢出,符号位不变,并用符号位补溢出的高位。如:-6>>2结果为-2。

2.运用实例

异或(^)

1.判断两个数是否同号(同正或同负或同为零)

if(a^b>0) a,b同号;
if(a^b=0) a,b同号且相等;
if(a^b<0) a,b异号。 

2.交换两个数的值

起始:a=1,b=2;
a=a^b;
b=a^b;
a=a^b;
结束:a=2,b=1;

3.转换字母大小写

char a='a';
char B='B';
System.out.println((char)(a^32));// 输出:A
System.out.println((char)(B^32));// 输出:b

或(|)