python中的位运算

这篇博客介绍了Python中的位运算,包括其规则和实例演示。通过具体的计算示例,如2、15、13、-11、5、40等,展示了位运算如何在二进制层面操作数字。此外,还提供了相关的学习资源链接。

python中的位运算将数字看作二进制进行计算。

1. 规则
运算符说明描述
&按位与运算符参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|按位或运算符只要对应的二个二进位有一个为1时,结果位就为1
^按位异或运算符当两对应的二进位相异时,结果为1
~按位取反运算符对数据的每个二进制位取反,即把1变为0,把0变为1
<<左移运算符运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,高位丢弃,低位补0
>>右移运算符把”>>”左边的运算数的各二进位全部右移若干位,”>>”右边的数指定移动的位数
2. 例子演示
m = 10			# 10 = 1010
n = 7     		# 7 = 0111
k = -6			# -6 = - 0110 = 1010(补码表示,最高位的1是看不见的)
print(m & n)	# 1010 & 0111 = 0010
print(m | n)	# 1010 | 0111 = 1111
print(m ^ n)	# 1010 ^ 0111 = 1101
# 说明:在取反时,正数变负数,负数变正数,取完反时,负数在计算机用补码表示
print(~m)		# ~1010 =  0101(取反变负数,补码表示,原码 = 1011 = -11)
print(~k)		# ~1010 = 0101 = 5 (取反变正数) 
print(m << 2) 	# 1010 << 2 = 0010 1000
print(n >> 2)		# 0111 >> 2 = 0001
  • 输出

2
15
13
-11
5
40
1

3. 有用的链接
  • https://blog.youkuaiyun.com/u012559520/article/details/65630436
  • https://blog.youkuaiyun.com/MTbaby/article/details/53100663
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值