在开始之前,先介绍一下将十进制转换成二进制的方法。为节约篇幅说明后面的内容,此处我们直接使用 python 内置的 bin() 函数将整数转换为二进制。
注意:若操作系统为32位,则二进制根据位数补全32位即可,以下用低位说明问题,如 10 的二进制计算出为 1010,则补全32位应为 00000000000000000000000000001010。
1def toBin(num):3、异或运算
2 # 十进制转换成二进制
3 res = bin(int(num))
4 # 去掉前两位,因为内置函数转换后前面两个字符是0b
5 return res[2:]
6
7if __name__ == '__main__':
8 print toBin(10)
9 结果10的二进制是1010
10 print toBin(8)
11 结果8的二进制是1000
12 根据二进制“或”的计算规则:对应的两个二进位有一个为1时结果位就为1,否则为0
13 对比结果:1010 转为10进制也就是10
14 print 10 | 8
15 10
1def toBin(num):6、右移运算
2 # 十进制转换成二进制
3 res = bin(int(num))
4 # 去掉前两位,因为内置函数转换后前面两个字符是0b
5 return res[2:]
6
7if __name__ == '__main__':
8 print toBin(10)
9 结果10的二进制是1010
10 根据二进制“左移”的计算规则:将位数将左移动,遵循低位补0、高位丢弃
11 向左移动一位
12 对比结果:01010 转为10进制也就是20
13 print 10 << 1
14 20
Python 集中营
分享编程技术、还原编程思想
原创技术|编程实战|学习社区
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。