Python3 100例 | 菜鸟教程 习题链接
题51-55:位运算符(补码)
Python3 位运算符 | 与 或 异或 取反 原码 反码 补码
其中54题:
题目:取一个整数a(补码)从右端开始的4〜7位。(最右端是第0位,最高位是第7位)
程序分析:可以这样考虑:
(1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用~(~0 << 4)
(3)将上面二者进行&运算。
例如 9 = 0000 1001,取4-7位为0000 化为十进制是0
例如 -3 = 1111 1101,输出为0000 1111 是15
a = int(input('input a number:\n'))
b = a >> 4
c = ~(~0 << 4)
d = b & c
print(d)
题56:画圆
import math as m
import matplotlib.pyplot as plt
x=[]
y=[]
for a in range(1,11):
for b in range(0,360):
x.append(a*(m.cos(m.pi*(b/180))))