crc计算的大小端再次总结

a = 20
b = 400
s = struct.pack('>ii', a, b)
print(s, type(s))

s = struct.pack('ii', a, b)
print(s, type(s))
s = struct.pack('<i', 170)
print(s, type(s))

执行结果:
('\x00\x00\x00\x14\x00\x00\x01\x90', <type 'str'>)
('\x14\x00\x00\x00\x90\x01\x00\x00', <type 'str'>)
('\xaa\x00\x00\x00', <type 'str'>)

cpu读取内存数据是从低位到高位读取,由执行结果可知默认为小端模式。
按读取顺序来说,大端模式更符合人的思维。

1)大端模式:

低地址 -----------------> 高地址

0x0A | 0x0B | 0x0C | 0x0D
crc计算的大小端再次总结

2)小端模式:

低地址 ------------------> 高地址

0x0D | 0x0C | 0x0B | 0x0A

crc计算的大小端再次总结

猜你喜欢

转载自blog.51cto.com/zhaoanan/2390569
CRC