二进制逻辑运算

介绍

  计算机中的逻辑关系是一种二值逻辑,二值逻辑很容易用二进制的数 1(true)或 0(false)表示,例如真与假、是与否、成立于不成立

  • 包括逻辑“与”、逻辑“或”、逻辑“非”、逻辑“异或”。
  • 我在不同的地方查二进制逻辑运算发现使用的符号有多种,这里采用算法竞赛中所使用的符号。

逻辑“与”

“与”运算(逻辑乘),用符号 “ & \& &” 或 a n d and and 表示。

  • 1   &   1 = 1 1\ \&\ 1=1 1 & 1=1
  • 0   &   0 = 0 0\ \&\ 0=0 0 & 0=0
  • 1   &   0 = 0 1\ \&\ 0=0 1 & 0=0
  • 0   &   1 = 0 0\ \&\ 1=0 0 & 1=0

例: 1010   & 1010\ \& 1010 &
   1001 ‾ = \underline{1001}= 1001=
   1000 1000 1000
小结:一位为 0 0 0,结果为 0 0 0;若都为 1 1 1,结果为 1 1 1


逻辑“或”

“或”运算(逻辑加),用符号 “ ∣ | ” 或 o r or or 表示。

  • 1   ∣   1 = 1 1\ |\ 1=1 1  1=1
  • 0   ∣   0 = 0 0\ |\ 0=0 0  0=0
  • 1   ∣   0 = 1 1\ |\ 0=1 1  0=1
  • 0   ∣   1 = 1 0\ |\ 1=1 0  1=1

例: 1010   ∣ 1010\ | 1010 
   1001 ‾ = \underline{1001}= 1001=
   1011 1011 1011
小结:一位为 1,结果为 1;若都为 0 0 0,结果为 0 0 0


逻辑“非”

“非”运算(逻辑否),用符号 “~” 或 n o t not not 表示。

  • ~1 = 0
  • ~0 = 1

例:~ 10 = 10= 10=
      01 \ \ 01   01
小结: 1 1 1 0 0 0,非 0 0 0 1 1 1


逻辑“异或”

“异或”运算通常用符号 “xor”1 表示,其运算规则为:

  • 0   x o r   0 = 0 0\ xor\ 0=0 0 xor 0=0
  • 0   x o r   1 = 1 0\ xor\ 1=1 0 xor 1=1
  • 1   x o r   0 = 1 1\ xor\ 0=1 1 xor 0=1
  • 1   x o r   1 = 0 1\ xor\ 1=0 1 xor 1=0

例: 1010   x o r 1010\ xor 1010 xor
   1001 = 1001= 1001=
   0011 0011 0011
小结:不同为 1 1 1;相同为 0 0 0


  1. 一般“^”符号用于表示乘方运算,但在 C++ 中表示为异或。为了避免歧义我们统一将异或用“xor”表示 ↩︎

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值