位运算

 

>基础语法

与运算 &

或运算 |

异或运算 ^

取反运算 ~

右移运算 >>

左移运算 <<

>应用实例


>基础语法

与运算 &

  • 按位与运算
  • 参加运算的两个值,如果相应位都为1,则该位的结果为1,否则为0

或运算 |

  • 按位或运算
  • 只要对应的两个二进位有一个为1,则结果为1

异或运算 ^

  • 按位异或运算
  • 对应的两个二进制位相异,结果为1

取反运算 ~

  • ~a=-a-1
  • 按位取反运算
  • 对每个二进制位取反(即1变0,0变1),获取补码,算出原码(此原码即为~a的结果)
  • 补码第一位为1,原码为负,反之为正
  • 补码取反+1,获得原码

右移运算 >>

  • a>>i    #a整除2^i
  • 把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

左移运算 <<

  • a<<i    #a乘以2^i
  • 运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0

>应用实例

#位运算
#author:xuer

print("a=8  b=7")
a=8 
b=7

#&与运算
print("a&b =",a&b)

#|或运算
print("a|b =",a|b)

#^异或运算
print("a^b =",a^b)  #不同为1

#~取反运算
print("~a =",~a)    #取反运算为-a-1

#>>右移运算
print("a>>1 =",a>>1)
print("a>>2 =",a>>2)
print("a>>3 =",a>>3) #a>>i,整除2^i

#<<左移运算
print("b<<1 =",b<<1)
print("b<<2 =",b<<2)
print("b<<3 =",b<<3) #b<<i,乘以2^i

python c 位运算 区别 python位运算例题_与运算