如何还原此功能的动作?

问题描述

以下功能做什么,以及如何撤销该操作?@H_502_1@

def lrot(n,d):
    return ((n << d) & 0xff) | (n >> (8 - d))                                

x= lrot(n,d)

如果我有xd,想得到n吗?@H_502_1@

解决方法

向左旋转一点(lrot =向左旋转)。将位向左移动,丢失的位将重新放回右侧。要撤消该操作,您可以朝另一个方向做同样的事情:

def rrot(n,d):
    return (n >> d) | ((n << (8 - d)) & 0xff)

通过谷歌搜索“ lrot位操作”,您可能会发现this