位运算
>基础语法
与运算 &
或运算 |
异或运算 ^
取反运算 ~
右移运算 >>
左移运算 <<
>应用实例
>基础语法
与运算 &
- 按位与运算
- 参加运算的两个值,如果相应位都为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