位移位的使用
Usage of bitwise shifting
我能很好地理解位移是如何工作的,但我找不到任何可以将它用于 faster/better 结果的情况。
有人可以解释什么时候使用运算符 >>
和 <<
有用吗?
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))
不太确定它在日常编码中的用处。但是当涉及到嵌入式编程时,它有着巨大的用途。为了操作寄存器,我过去经常使用按位运算符。
我能很好地理解位移是如何工作的,但我找不到任何可以将它用于 faster/better 结果的情况。
有人可以解释什么时候使用运算符 >>
和 <<
有用吗?
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))
不太确定它在日常编码中的用处。但是当涉及到嵌入式编程时,它有着巨大的用途。为了操作寄存器,我过去经常使用按位运算符。