python学习笔记

python练手_54-位取反、位移动

2019-02-17  本文已影响0人  学子CH

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

程序分析 可以这样考虑:

(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。可用(0<<4)

(3)将上面二者进行&运算。

# -*- coding:utf-8 -*-
# @Author: CH
"""
@project: python study
@time:2019/1/7-23:41
@file_name:【程序54】位取反、位移动.py
@IDE:PyCharm 
@else: DO NOT STOP STUDYING!!!
"""

# 题目 取一个整数a从右端开始的4〜7位。
#
# 程序分析 可以这样考虑:
# (1)先使a右移4位。
# (2)设置一个低4位全为1,其余全为0的数。可用(0<<4)
# (3)将上面二者进行&运算。
a=int(input('输入一个数字: '))
b=0                 #     0
b=~b                #     1
b=b<<4              # 10000
b=~b                #  1111
c=a>>4
d=c&b
print('a:',bin(a))#bin二进制的意思
print('b:',bin(b))
print('c:',bin(c))
print('d:',bin(d))

上一篇下一篇

猜你喜欢

热点阅读