Python实现CRC校验

CRC错误检测算法实现
该代码实现了一个基于多项式的CRC数据校验过程,包括获取多项式的幂与阶数、计算CRC除数、补充原始数据串、计算校验和以及检测数据是否存在误码的功能。通过用户输入的二进制数据和生成多项式,生成CRC校验码并进行误码检测。
import re

def get_degree():
    '''
    获取多项式的幂与阶数
    :return: 幂,阶数
    '''
    exist_coe = re.findall(r'\*\*(\d+)', poly)
    degree = int(exist_coe[0])
    return degree,exist_coe

def poly_coefficient(degree,exist_coe):
    '''
    根据阶数与幂计算CRC除数
    :param degree:
    :param exist_coe:
    :return: CRC除数
    '''
    coe = []
    for i in range(degree+1):
        coe.append(0)
    for i in range(len(exist_coe)):
        coe[int(exist_coe[i])] = 1
    coe.reverse()
    print('CRC除数:',coe)
    return coe

def supplement_zero(degree,temporary_data):
    '''
    补充原始数据串
    :param degree:
    :return: None
    '''
    for i in range(degree):
        temporary_da
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BuerCC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值