crc检验c语言实现程序,C语言实现CRC校验

该博客介绍了如何使用C语言实现CRC校验的过程。首先,通过`getBinary`函数将输入的十进制表达式转换为二进制,然后通过`getOrderedBinary`将二进制数正序排列。接着,`getQuoRem`函数根据二进制的被除数和除数计算CRC校验码。最终,`printBinary`函数打印出原始二进制、除数二进制以及带有CRC校验的数据。
摘要由CSDN通过智能技术生成

#include

#include

// 转化后的二进制最多的位数

#define MAX_BIN_LENGHT 100

// 输入的表达式最多的字符数

#define MAX_EXP_LENGHT 100

// 根据表达式得到二进制数

void getBinary(char *express,int binary[MAX_BIN_LENGHT]);

// 根据两个二进制数,得到CRC校验结果

void getQuoRem(int *binaryY,int binaryG[MAX_BIN_LENGHT], int result[MAX_BIN_LENGHT]);

// 打印二进制数

void printBinary(int binary[MAX_BIN_LENGHT]);

// 得到正序的二进制数

void getOrderedBinary(int originalBinary[MAX_BIN_LENGHT],int orderedBinary[MAX_BIN_LENGHT]);

// 得到二进制位数

int getBinaryLength(int originalBinary[MAX_BIN_LENGHT]);

int main(int argc,char *argv[])

{

int binaryY[MAX_BIN_LENGHT]={0}; // 存放Y(x)转化后的二进制数

int binaryG[MAX_BIN_LENGHT]={0}; // 存放G(x)转化后的二进制数

int binaryTemp[MAX_BIN_LENGHT]={0}; // 存放表达式转化后的倒序二进制数

int binaryResult[MAX_BIN_LENGHT]={0}; // 存放最后要发送的加上校验码的数据

char express[MAX_EXP_LENGHT]; //存放输入的表达式

printf("请输入Y(x)表达式:\n");

scanf("%s",express);

getBinary(express,binaryTemp);

getOrderedBinary(binaryTemp,binaryY);

printf("请输入G(x)表达式:\n");

scanf("%s",express);

getBinary(express,binaryTemp);

getOrderedBinary(binaryTemp,binaryG);

// 得到有校验码的数据

getQuoRem(binaryY,binaryG,binaryResult);

printf("\nY(x)的二进制为:");

printBinary(binaryY);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值