鲜为人知的python位运算

307次阅读
没有评论

鲜为人知的python位运算

位运算,计算机内所有的数都以二进制存储,位运算就是对二进制位的操作

位运算符 说明
<< 按位左移,左移n位相当于乘以2的n次方
>> 按位右移 ,左移n位相当于除以2的n次方
& 按位与,二进制位数同且为1结果位为1
l 按位或 ,二进制位数或有1结果位为1
^ 按位异或 ,二进制位数不同结果位为1
~ 按位取反,二进制位0和1结果位互换

按位左移例子

a=11
b=a<<3                  # 将 a 左移三位
print("下面是十进制")
print(a)
print(b)                # b=a*(2**3)
print("下面是二进制")
#print(bin(a))          # 转化为二进制显示
print(bin(a)[2:])       # 切片,去掉前面的:0b
print(bin(b)[2:])       # 二进制右边补上三个000

鲜为人知的python位运算    

其他的例子

a=3
b=2
print("二进制:"+bin(a)[2:]+" a十进制:%d"%a)       # 显示二进制数
print("二进制:"+bin(b)[2:]+" b十进制:%d"%b)
print("按位与:"+bin(a&b)+"  位与后是:%d"%(a&b))  # 都是1才是1
print("按位或:"+bin(a|b)+"  位或后是:%d"%(a|b))  # 有1就是1
print("按位取反"+bin(~a)+"  位反后是:%d"%~a)   # 结果是:a 的倒数-1

鲜为人知的python位运算    

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-07-06发表,共计636字。
新手QQ群:570568346,欢迎进群讨论 Python51学习