java 位与运算

本文详细介绍了Java中的位运算符,包括位与(&)、位或(|)和异或(^)。通过具体示例展示了这些运算符如何应用于二进制数值,并解释了它们的基本工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java 中1表示 true, 0表示false

位与(&)运算:两个二进制值都为1,结果才为1,否则为0

位或(|) 运算:只要有一个为1,结果就为1

异或(^) 运算:两个值相同结果取反,不同则为1

例如:

System.out.println(3 & 5); //1

System.out.println(3 | 5); //7

3的二进制:000000011

5的二进制:000000101

                    000000011

        &         000000101

--------------------------------

                    000000001 





                    000000011

          |         000000101

--------------------------------

                    000000111 





                    000000011

          ^        000000101

--------------------------------

                    000000110







 

### Java位与运算的用法 在 Java 编程语言中,位与运算是指按二进制位执行逻辑乘操作。对于两个整数的操作数而言,只有当相应位置上的两位都为 `1` 时,结果才为 `1`; 否则,结果为 `0`[^1]。 #### 运算符表示 位与运算由单个符号 `&` 表示,在表达式中用于比较两个相同类型的数值型数据(如 int, long 等),并逐位计算其布尔交集[^2]。 ```java int a = 5; // binary: 0101 int b = 3; // binary: 0011 int result = a & b; // The value of 'result' will be 1 (binary: 0001) ``` 上述代码片段展示了如何利用位与运算来处理变量 `a` 和 `b` 的每一位。这里 `a=5` 转换成二进制形式是 `0101`,而 `b=3` 则转换成 `0011`. 当应用位与运算后得到的结果将是最低有效位上唯一的共同设置位即 `0001` 或者十进制中的 `1`. #### 实际应用场景 除了基本的数据操作外,位与运算还广泛应用于权限验证、状态标志管理以及优化算法等领域。例如通过定义一组常量作为不同权限级别,并使用位掩码来进行组合或检测特定访问控制属性[^3]. ```java public class PermissionExample { public static final int READ_PERMISSION = 4; // Binary: 0100 public static final int WRITE_PERMISSION = 2; // Binary: 0010 public static final int EXECUTE_PERMISSION = 1; // Binary: 0001 private int permissions; public boolean hasPermission(int permission){ return (this.permissions & permission) != 0; } } ``` 在这个例子中,类成员字段 `permissions` 存储了一个用户的全部许可集合;函数 `hasPermission()` 接受一个参数用来测试当前对象是否拥有指定的权利。如果两者之间存在重叠,则返回 true.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DQchat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值