gpt4 book ai didi

c++ - 计算CRC的C程序

转载 作者:行者123 更新时间:2023-11-30 19:21:47 25 4
gpt4 key购买 nike

大家晚安,我一直在根据这样的逻辑编写这段代码:要获得 CRC,您需要执行 2 个 XOR 操作,第一个:结果 = 数据 ^ 生成器,然后它移动 >> 一点一点地结束16 位并一遍又一遍地执行 XOR,因此最终的 crc = 结果 ^ 生成器,直到分析整个 32 位序列。生成器是我的老师提供的一个多项式。

到目前为止,这是代码:

{

int dato; // 16 bits
int polin; // generador
double r1; // resultado de la trama de 32 bits


dato = 0x0000000001000100;
polin = 0x82086DB;
r1 = dato ^ polin; // XOR
polin >>= 1;

while(r1 > 0){
r1 = dato ^ polin;
r1 = 0x1 >> dato;
}
printf("%x %x",dato,polin);
printf("\n\r CRC es: ", r1);
getch();
}

我的问题是,当我尝试执行它时,它停留在“while”内并且不提供任何结果,希望有人可以帮助我。

最佳答案

while(r1 > 0){
r1 = dato ^ polin;
r1 = 0x1 >> dato;
}

您的 while 循环永远不会退出,因为 r1 的值在第一次迭代后永远不会改变。第一行的结果从未被使用,第二行每次都返回相同的结果,因为循环不会修改 dato 的值。

关于c++ - 计算CRC的C程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com