问题描述
我可以很好地理解位移位的工作原理,但我找不到任何可以使用它来获得更快/更好结果的情况。
有人能解释一下什么时候使用运算符 >>
和 <<
有用吗?
x = 2
y = 7
z = 16
a = x << y
print(bin(x),"with %d zeros removed from left/added on right ->" % y,bin(a))
b = z >> x
print(bin(z),"with %d zeros removed from right/added on left ->" % x,bin(b))
解决方法
不太确定它在通常的编码中在哪里有用。但是当涉及到嵌入式编程时,这有很大的用途。为了操作寄存器,我经常使用按位运算符。