以8bit为例:
bit7、bit6、bit5、bit4、bit3、bit2、bit1、bit0
循环移位即:将一端移出的bit从另一端移入;
循环左移 1bit
第一步:左移一位
第二步:右移七位
第三步:前两步结果按位或
对应代码:data = (data >> 1) | (data << (8 - 1))
结果:bit0、bit7、bit6、bit5、bit4、bit3、bit2、bit1
循环右移 1bit
第一步:右移一位
第二步:左移七位
第三步:前两步结果按位或
对应代码:data = (data << 1) | (data >> (8 - 1))
结果:bit6、bit5、bit4、bit3、bit2、bit1、bit0、bit7
呵呵,第一步、第二步小规律,加起来就是数据总bit数目;