Python 练习实例54

来自菜鸟教程
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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,184评论 17 410
  • Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。 解...
    蔷北阅读 448评论 0 0
  • 大师兄的Python学习笔记(二): 面向对象和类 一、在开始之前 1. 一些常见问题 应该学习一种语言还是多种语...
    superkmi阅读 1,470评论 1 55
  • 1. 摘要 本文讲解了Python语法的要点,便于入门者学习之用。 2.内容 2.1 基本语法 2.2.1 Pyt...
    笔名辉哥阅读 1,466评论 0 1
  • 来自菜鸟教程https://www.runoob.com/python/python-exercise-examp...
    loinue阅读 188评论 0 0