Java SE位运算和移位运算使用及注意事项
更新时间:2026年07月24日 15:21:23 作者:渴望力量的土狗
想知道位运算和移位运算怎么用吗?本文详细讲解按位与、按位或、按位取反、按位异或的规则,以及左移、右移、无符号右移的区别,帮你轻松掌握这些运算符,提升编程效率
1.位运算
1.1按位与 &:
如果两个二进制位都是 1, 则结果为 1, 否则结果为 0
public class Test {
public static void main(String[] args) {
int a=10;
int b=1;
int c=a&b;
System.out.println(c);
}
}
1.2按位或 |:
如果两个二进制位都是 0, 则结果为 0, 否则结果为 1
public class Test {
public static void main(String[] args) {
int a=10;
int b=1;
int c=a|b;
System.out.println(c);
}
}

1.3按位取反 ~:
如果该位为 0 则转为 1, 如果该位为 1 则转为 0
public class Test {
public static void main(String[] args) {
int a=10;
a=~a;
System.out.println(a);
}
}

1.4按位异或 ^:
如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1
public class Test {
public static void main(String[] args) {
int a=10;
int b=1;
int c=a^b;
System.out.println(c);
}
}

2.移位运算
2.1 左移 <<:
最左侧位不要了, 最右侧补 0
public class Test {
public static void main(String[] args) {
int a=10;
int b=a<<1;
System.out.println(b);
}
}
2.2右移 >>:
最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)
public class Test {
public static void main(String[] args) {
int a=10;
int b=a>>1;
System.out.println(b);
}
} 

2.3无符号右移 >>>:
最右侧位不要了, 最左侧补 0.
public class Test {
public static void main(String[] args) {
System.out.println(1>>>1);
System.out.println(-1>>>1);
}
}

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mybatis连接PGSQL中对于json和jsonb的处理方法
在使用PostgreSQL数据库时,将表字段设置为jsonb格式可以存储JSON数据,本文给大家介绍mybatis连接PGSQL中对于json和jsonb的处理方法,感兴趣的朋友一起看看吧2024-11-11


最新评论