美文网首页
Python 练习实例54

Python 练习实例54

作者: loinue | 来源:发表于2022-05-07 09:08 被阅读0次

来自菜鸟教程
https://www.runoob.com/python/python-exercise-example54.html

题目:取一个整数a从右端开始的4〜7位。

程序分析:可以这样考虑:
(1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用(0<<4)
(3)将上面二者进行&运算。

实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
if __name__ == '__main__':
    a = int(input('input a number:\n'))
    b = a >> 4
    c = ~(~0 << 4)
    d = b & c
    print ('%o\t%o' %(a,d))

以上实例输出结果为:

input a number:
9
11 0

来自百度回答:
~按位取反,
<<左移运算
比如0的二进制为00……0000000
那么~0就为11……1111111
0<<4就是将0的二进制码向左移动4位,右边补0,
即得11……1110000
(0<<4)就是将上一步得到的二进制码(11……1110000)取反,
得00……0001111

相关文章

网友评论

      本文标题:Python 练习实例54

      本文链接:https://www.haomeiwen.com/subject/wezmyrtx.html