本文主要是介绍位运算符与位移运算符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
按位与& 两个二进制数字都是1 取1否则取0
按位或I 两个二进制数字都是0取0否则取1
按位取反~如果该位为0则1 ,为1取0
按位异或 ^ 相同为零相反为1
移位运算符
有三个: <<, >> ,>>>,都是二元运算符,且都是按照二进制比特位来运算的。
1. 左移 <<: 最左侧位不要了, 最右侧补 0.
int a = 0x10;
System.out.printf("%x\n", a << 1);
// 运行结果(注意, 是按十六进制打印的)
20
. 右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)
nt a = 0x10;
System.out.printf("%x\n", a >> 1);
// 运行结果(注意, 是按十六进制打印的)
8
int b = 0xffff0000;
System.out.printf("%x\n", b >> 1);
// 运行结果(注意, 是按十六进制打印的)
ffff8000
. 无符号右移 >>>: 最右侧位不要了, 最左侧补 0
int a = 0xffffffff;
System.out.printf("%x\n", a >>> 1);
// 运行结果(注意, 是按十六进制打印的)
7fffffff
这篇关于位运算符与位移运算符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!