问题描述
以下功能做什么,以及如何撤销该操作?@H_502_1@
def lrot(n,d):
return ((n << d) & 0xff) | (n >> (8 - d))
x= lrot(n,d)
如果我有x
和d
,想得到n
吗?@H_502_1@
解决方法
向左旋转一点(lrot =向左旋转)。将位向左移动,丢失的位将重新放回右侧。要撤消该操作,您可以朝另一个方向做同样的事情:
def rrot(n,d):
return (n >> d) | ((n << (8 - d)) & 0xff)
通过谷歌搜索“ lrot位操作”,您可能会发现this