了解 &和&& 与 |和|| 的区别

本文详细解析了按位与(&)、按位或(|)、逻辑与(&&)/条件与、逻辑或(||)/条件或的计算原理及应用场景。通过具体示例说明了这些运算符在数字二进制表示下的工作方式。

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

总结:&& 和 || 是用于条件判断,而 & 和 | 是用于位运算。


【&  按位与(And)】

  • 计算原理:将数字转成二进制 > 二进制运算(遇0为0) > 再将二进制计算结果转成数字;
  • 示例:

(1 & 1) = (0001 And 0001 = 0001) = 1

(1 & 2) = (0001 And 0010 = 0000) = 0

(2 & 2) = (0010 And 0010 = 0010) = 2

(7 & 5) = (0111 And 0101 = 0101) = 5

(7 & 8) = (0111 And 1000 = 0000) = 0

(8 & 4) = (1000 And 0100 = 0000) = 0

(true | false) = (0001 And 0000 = 0000) = false

(true | true) = (0001 And 0001 = 0001) = true

(false | false) = (0000 And 0000 = 0000) = false

【|  按位或(Or)】

  • 计算原理:将数字转成二进制 > 二进制运算(遇1为1) > 再将二进制计算结果转成数字;
  • 示例:

(1 | 1) = (0001 Or 0001 = 0001) = 1

(1 | 2) = (0001 Or 0010 = 0011) = 3

(2 | 2) = (0010 Or 0010 = 0010) = 2

(7 | 5) = (0111 Or 0101 = 0111) = 7

(7 | 8) = (0111 Or 1000 = 1111) = 15

(8 | 4) = (1000 Or 0100 = 1100) = 12

(true | false) = (0001 Or 0000 = 0001) = true

(true | true) = (0001 Or 0001 = 0001) = true

(false | false) = (0000 Or 0000 = 0000) = false


【&& 逻辑与/条件与】

  • 遇 false 时返回 false、或同时为 true 时则返回 true;
  • 示例:

(true && false) = false

(true && true) = true 

(false && false) = false

【|| 逻辑或/条件或】

  • 遇 true 时返回 true、或同时为 false 时则返回 false;
  • 示例:

(true || false) = true

(true || true) = true

(false || false) = false


附:《了解 &按位与、|按位或、^按位异或、~按位取反、<<按位左移、>>按位右移 的区别》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值