CRC校验编程代码示例
下面是一个简单的CRC校验的Python代码示例:
```python
def crc_remainder(input_bitstring, polynomial_bitstring, initial_filler):
polynomial_bitstring = polynomial_bitstring[2:]
polynomial = int(polynomial_bitstring, 2)
len_input = len(input_bitstring)
initial_bytes = initial_filler // 8
crc = int(input_bitstring[:initial_bytes], 2)
message = crc << (len_input initial_bytes)
for i in range(initial_bytes, len_input):
message = message << 1 | int(input_bitstring[i])
if message & (1 << len(polynomial_bitstring) 1):
message ^= polynomial
return message
def crc_check(input_bitstring, polynomial_bitstring, initial_filler):
crc = crc_remainder(input_bitstring, polynomial_bitstring, initial_filler)
return crc == 0
input_bitstring = '1101011011' 输入比特串
polynomial_bitstring = '1001' CRC多项式
initial_filler = 0xFF 初始填充值
if crc_check(input_bitstring, polynomial_bitstring, initial_filler):
print("CRC校验通过")
else:
print("CRC校验未通过")
```
以上代码通过定义了两个函数`crc_remainder`和`crc_check`来进行CRC校验,其中`input_bitstring`表示输入的比特串,`polynomial_bitstring`表示CRC多项式,`initial_filler`表示初始填充值。你可以根据实际的需求修改输入比特串和CRC多项式进行测试。
希望以上代码能够帮助你进行CRC校验的编程实践。
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。