JAVA位运算
来源:互联网 发布:登录失败网络异常1 编辑:程序博客网 时间:2024/06/15 04:43
摘自《JAVA核心技术》
在处理整型数值时,可以直接对组成整型数值的各个位进行操作,这意味着可以使用屏蔽技术获得整数中的各个位,位运算符包括:
&("与"),|("或"),^("异或"),~("非")。这些运算符在位模式下工作。例如,如果n是一个整型变量,并且用二进制表示的n从右数第四位为1,那么
int fourthBitFromRight = (n & 8) / 8;
返回1,否则返回0,通过运用2的幂次方的&运算可以将其他位屏蔽掉,而只保留其中的某一位。
注释:&和|运算符应用于布尔值,得到的结果也是布尔值,这两个运算符与&&和||的运算非常类似,只是不按“短路”方式计算。即在得到计算结果之前,一定要计算两个操作数的值。
“>>”和“<<”运算符将二进制位进行右移或左移操作,当需要建立位模式屏蔽某些位时,使用这两个运算符十分方便。
int fourthBitFromRight = (n & (i << 3)) >> 3;
最后,>>>运算符将用0填充高位,>>运算符用符号位填充高位,没有<<<运算符。
警告:对移位运算符右侧的参数需要运行模32的运算(除非左边的操作数是long类型的,在这种情况下需要对右侧操作数模64),例如,1 << 35与1 << 3或8是相同的。
C++注释:在C或C++中无法确定>>操作执行的是算术移位(扩展符号位),还是逻辑移位(高位填0),在执行中将会选择效率较高的一种。这就是说,在C/C++中,>>运算符实际上只是为非负数定义的。JAVA消除了这种含糊性。
- Java 中的位运算
- JAVA 中的位运算
- Java 中的位运算
- Java位运算符
- 转帖 java位运算
- Java 位运算符
- Java 位运算符
- java 位运算
- Java 位运算符
- JAVA位运算
- Java 位运算符
- Java的位运算
- Java 位运算符
- Java 位运算
- java中的位运算
- java位运算
- java位运算例子
- Java 位运算符
- Generate Parentheses
- 访问本机做的网站,错误信息:IIS7 HTTP Error 500.19 错误 0x80070021
- c# 解析json数据
- windows远程桌面端口修改
- Tibco XML 特殊字符转义
- JAVA位运算
- Android 下通过jni读取i2c数据
- 造成 nginx 403 forbidden 的几种原因
- 学习几个问题
- hdu 1016Prime Ring Problem
- 为类添加方法和实例(category与associative)
- Android布局文件命名
- hdu4467 Graph(构造法求解)
- Edit Distance