位运算符
来源:互联网 发布:vb.net 数组 编辑:程序博客网 时间:2024/06/04 19:03
/*
位运算符:
&,|,^,~
<<,>>,>>>
注意:
要做位运算,首先要把数据转换为二进制。
*/
class OperatorDemo {
public static void main(String[] args) {
//&,|,^,~
int a = 3;
int b = 4;
System.out.println(3 & 4);
System.out.println(3 | 4);
System.out.println(3 ^ 4);
System.out.println(~3);
}
}
/*
分析:因为是位运算,所以我们必须先把数据换算成二进制。
3的二进制:11
00000000 00000000 00000000 00000011
4的二进制:100
00000000 00000000 00000000 00000100
&位与运算:有0则0。
00000000 00000000 00000000 00000011
&00000000 00000000 00000000 00000100
-----------------------------------
00000000 00000000 00000000 00000000
结果是:0
|位或运算:有1则1。
00000000 00000000 00000000 00000011
|00000000 00000000 00000000 00000100
-----------------------------------
00000000 00000000 00000000 00000111
结果是:7
^位异或运算:相同则0,不同则1。
00000000 00000000 00000000 00000011
&00000000 00000000 00000000 00000100
-----------------------------------
00000000 00000000 00000000 00000111
结果是:7
~按位取反运算符:0变1,1变0
00000000 00000000 00000000 00000011
~11111111 11111111 11111111 11111100 (补码)
补码:11111111 11111111 11111111 11111100
反码:11111111 11111111 11111111 11111011
原码:10000000 00000000 00000000 00000100
结果是:-4
*/
位运算符:
&,|,^,~
<<,>>,>>>
注意:
要做位运算,首先要把数据转换为二进制。
*/
class OperatorDemo {
public static void main(String[] args) {
//&,|,^,~
int a = 3;
int b = 4;
System.out.println(3 & 4);
System.out.println(3 | 4);
System.out.println(3 ^ 4);
System.out.println(~3);
}
}
/*
分析:因为是位运算,所以我们必须先把数据换算成二进制。
3的二进制:11
00000000 00000000 00000000 00000011
4的二进制:100
00000000 00000000 00000000 00000100
&位与运算:有0则0。
00000000 00000000 00000000 00000011
&00000000 00000000 00000000 00000100
-----------------------------------
00000000 00000000 00000000 00000000
结果是:0
|位或运算:有1则1。
00000000 00000000 00000000 00000011
|00000000 00000000 00000000 00000100
-----------------------------------
00000000 00000000 00000000 00000111
结果是:7
^位异或运算:相同则0,不同则1。
00000000 00000000 00000000 00000011
&00000000 00000000 00000000 00000100
-----------------------------------
00000000 00000000 00000000 00000111
结果是:7
~按位取反运算符:0变1,1变0
00000000 00000000 00000000 00000011
~11111111 11111111 11111111 11111100 (补码)
补码:11111111 11111111 11111111 11111100
反码:11111111 11111111 11111111 11111011
原码:10000000 00000000 00000000 00000100
结果是:-4
*/
0 0
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符和位运算
- 位运算符与位运算
- sqlite位运算,sql位运算符
- 位运算符和位运算
- 位运算符和位运算
- 位运算、移位运算符
- Java位运算符
- 说说位运算符
- 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- 项目在eclipse运行正常,但单独部署到tomcat上出现乱码解决办法
- iOS开发者账号的类别与区别
- MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- 简单学生信息管理系统
- 升级xcode时更换appid账户
- 位运算符
- ListView几种写法性能对比及优化(转载)
- MySQL 数据库设计初步规范V1.0
- 数据挖掘中的聚类分析
- Linux中keepalive的使用
- android webview字体大小的设置
- 安卓用QuickContactBadge和AsyncQueryHandler实现联系人列表的完美实现
- redhat CentOS release 6.4 (Final),安装中文输入法的菜鸟历程
- 我是如何成长为系统架构师的