Java中的位运算符
来源:互联网 发布:网络发帖推广怎么发 编辑:程序博客网 时间:2024/05/25 19:56
java中的位运算符用来对二进制位进行操作,包括右移(>>)、左移(<<)、无符号右移(>>>)、按位取反(~)、按位与(&)、按位或(|)、异或(^)等,这些运算符只能对整型和字符型数据进行操作。
对于整型数据(计算机中正数通过原码表示,负数是用反码表示)
1、右移:若为正数高位补零,若为负数高位补一
(1)128>>1 得到 64
0000 0000 0000 0000 0000 0000 1000 0000 128
=> 0000 0000 0000 0000 0000 0000 0100 0000 64
(2)-256>>4 得到 -16
(原码)1000 0000 0000 0000 0000 0001 0000 0000 -256
(补码)1111 1111 1111 1111 1111 1111 0000 0000 (计算机中的表示形式)
=> (补码)1111 1111 1111 1111 1111 1111 1111 0000
(原码)1000 0000 0000 0000 0000 0000 0001 0000 -16
2、左移:低位补零
5<<2 得到 20
0000 0000 0000 0000 0000 0000 0000 0101 5
=> 0000 0000 0000 0000 0000 0000 0001 0100 20
3、无符号右移(逻辑右移):高位补零
-5>>>1 得到 2147483645
(原码)1000 0000 0000 0000 0000 0000 0000 0101 -5
(补码)1111 1111 1111 1111 1111 1111 1111 1011
=> (补码)0111 1111 1111 1111 1111 1111 1111 1101
(原码)0111 1111 1111 1111 1111 1111 1111 1101 2147483645
4、按位取反:一元运算符
5、按位与:对两个整型操作数中对应位执行布尔代数,两个位都为1时输出1,否则0。
6、按位或:对两个整型操作数中对应位执行布尔代数,两个位都为0时输出0,否则1
7、异或:对两个整型操作数中对应位执行布尔代数,两个位相等0,不等1
- Java 中的位运算符
- JAVA中的位运算符
- Java中的位运算符
- java中的位运算符
- java中的位运算符
- Java中的位运算符
- java中的位运算符
- Java中的位运算符
- java中的位运算符
- Java中的位运算符、移位运算
- Java中的位运算符、移位运算
- Java 中的位运算
- JAVA 中的位运算
- Java 中的位运算
- java中的位运算
- Java 中的位运算
- Java 中的位运算
- JAVA中的位运算
- 卡片-问题和答案
- 51 nod 中国剩余定理
- 开始一个好的习惯
- 从零开始···spring整合redis配置
- 106 定积分习题复习及应用(本系列课程上册圆满结束)
- Java中的位运算符
- 面向接口编程 二
- jquery的一些事
- 【安全牛学习笔记】存储型XSS漏洞原理及修复方法
- 关于import与import...as与from...import
- 关于Android studio 的模拟器的问题
- JAVA中分为基本数据类型及引用数据类型
- 使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)
- Cisco路由器配置Ipsec