crc16用python写
时间: 2023-10-16 15:09:20 浏览: 158
Modbus-crc16校验 python
以下是一个Python编写的CRC16代码示例:
```python
def crc16(data: bytes) -> int:
"""
Calculates the CRC16 of the given data.
:param data: The data to calculate CRC16 for.
:return: The calculated CRC16 value.
"""
crc = 0xFFFF
for i in range(len(data)):
crc ^= data[i]
for j in range(8):
if crc & 0x0001:
crc >>= 1
crc ^= 0xA001
else:
crc >>= 1
return crc
```
该函数接受一个字节数组作为输入,并返回一个整数,表示计算出的CRC16值。它使用标准的CRC16算法,使用0xFFFF作为初始值,并采用多项式0xA001。对于输入数据中的每个字节,它都对CRC寄存器执行异或操作,并在每个位上进行反转。最后计算出的CRC16值被返回。
阅读全文