Java操作符之按位操作符
来源:互联网 发布:飞机场的10 30 知乎 编辑:程序博客网 时间:2024/05/20 23:34
按位操作符及位运算符是对二进制位的操作,即对两个参数对应的位执行布尔代数运算。
- “与”操作符 &
两个输入位都为1,则生成一个输入位 1,否则生成一个输入为0 - “或”操作符 |
两个输入位中有一个为1,则生成一个输入位1。只有在两个输入位都为0的时候生成一个输入位0 - “异或”操作符 ^
当两个输入位相同时,生成一个输入位1,两个输入位不同时,生成一个输入位0 - “非”操作符 ~
非 操作符也称为取反操作符,为一元操作符,按位非操作符生成与输入位相反的值,也就是说当输入位为1时输出0,当输入位为0时输出1
public class ByteOperaTest {
public static void main(String[] args) { // 1010 1010 1010 int a = 0xaaa; // 0101 0101 0101 int b = 0x555; System.out.println("a byte is " + Integer.toBinaryString(a)); System.out.println("b byte is " + Integer.toBinaryString(b)); int c = a&b; System.out.println("c byte is " + Integer.toBinaryString(c)); int d = a|b; System.out.println("d byte is " + Integer.toBinaryString(d)); int e = a^b; System.out.println("e byte is " + Integer.toBinaryString(e)); int f = ~a; System.out.println("f byte is " + Integer.toBinaryString(f)); System.out.println("f int is " + f); int g = ~b; System.out.println("g byte is " + Integer.toBinaryString(g)); System.out.println("g int is " + g);}
输出为:
a byte is 101010101010
b byte is 10101010101
c byte is 0
d byte is 111111111111
e byte is 111111111111
f byte is 11111111111111111111010101010101
f int is -2731
g byte is 11111111111111111111101010101010
g int is -1366
阅读全文
0 0
- Java操作符之按位操作符
- Java按位操作符
- Java 按位操作符
- Java 按位操作符
- java按位操作符
- java位操作符
- java 位操作符
- java-位操作符
- java 位操作符
- java位操作符
- java 位操作符
- Java位操作符
- 读Android学Java基础之按位操作符
- c语言的操作符之按位操作符
- 位运算之位操作符
- Java中的按位操作符
- Java 按位操作运算符
- Java的按位操作符
- 可变参数
- 算法:求一元二次方程ax^2 + bx + c = 0的根
- 随便尝试了简单的开方,萌新随便玩玩的。
- python读取zip压缩文件
- 深度剖析c++菱形继承!
- Java操作符之按位操作符
- 上机练习题——异常处理课堂练习2
- 设计模式学习---第五节:模板模式
- 自然对数e的来历
- 原生js实现Canvas实现拖拽式图形绘制,支持画笔、线条、箭头、三角形、矩形、平行四边形、梯形以及多边形和圆形,有实例Demo
- 静态链表实现A-B(集合相减操作)
- java8新特性回顾(五)---并发增强之stampedLock
- Spring Security
- asp ajax传值中文