用python写了个函数来加深一下理解,代码如下:
#!/usr/bin/env python3
#coding:utf-8
def xtime(hexstr):
num = int(hexstr,16)
bs1 = bin(num)[2:]
if len(bs1)!=8:
bs1 = '0'*(8-len(bs1))+bs1
num = (num<<1)%2**8
if bs1[0]=='1':
num = num^int("1B",16)
return hex(num)[2:]
print(xtime("AE"))
下面是对于为什么要与“0x1B”相异或的解释,有问题的话尽管问我,虽然我数学很菜,hh!