📄 crc32tab.c
字号:
#include <stdio.h>
#include <string.h>
#define POLINOMIO 0x04C11DB7
/*
unsigned long crc32(unsigned char buf[])
{
unsigned char topo;
unsigned long crc=0, k, tam=strlen(buf);
for(k=0;k<(tam+4);k++)
{
//printf("%X\n", crc);
topo=(unsigned char)(crc>>24);
if(k<tam) crc=(crc<<8)|buf[k];
else crc=crc<<8;
crc^=tab_crc16[topo];
}
return crc;
} */
int main()
{ /*
unsigned int c;
unsigned char k, buf[80];
printf("DIGITE OS DADOS PARA O CALCULO DO CRC\n");
scanf("%s", buf);
printf("\n%X\n", crc32(buf));
return 0;*/
FILE *fp;
unsigned int c;
unsigned long crc=0;
unsigned char k;
if((fp=fopen("crc32.txt", "wr"))==NULL)
{
printf("ERRO AO ABRIR O ARQUIVO");
return 1;
}
fprintf(fp, "unsigned long crc32[256] = {");
for(c=0;c<256;c++)
{
crc=(unsigned long int)(c)<<24;
for(k=0;k<8;k++)
{
if(crc&(1l<<31))
{
crc=crc<<1;
crc^=POLINOMIO;
}
else crc=crc<<1;
}
printf("\n ",crc);
if(!(c%8)) fprintf(fp, "\n");
if(c!=255) fprintf(fp, "0x%.8lX, ", crc);
else fprintf(fp, "0x%.8lX };", crc);
}
fclose(fp);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -