⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xicrc.c

📁 < C语言数值算法程序大全>>配套程序
💻 C
字号:
/* Driver for routine icrc */

#include <stdio.h>
#include "nr.h"

#define LOBYTE(x) ((unsigned char)((x) & 0xFF))
#define HIBYTE(x) ((unsigned char)((x) >> 8))

main()
{
	unsigned char lin[256];
	unsigned short i1,i2;
	unsigned long n;

	for (;;) {
		printf("Enter length and string: \n");
		if (scanf("%lu %s",&n,&lin[1]) == EOF) break;
		lin[n+1]=0;
		printf("%s\n",&lin[1]);
		i1=icrc(0,lin,n,(short)0,1);
		lin[n+1]=HIBYTE(i1);
		lin[n+2]=LOBYTE(i1);
		i2=icrc(i1,lin,n+2,(short)0,1);
		printf("    XMODEM: String CRC, Packet CRC=    0x%x   0x%x\n",i1,i2);
		i1=icrc(i2,lin,n,(short)0xff,-1);
		lin[n+1] = ~LOBYTE(i1);
		lin[n+2] = ~HIBYTE(i1);
		i2=icrc(i1,lin,n+2,(short)0xff,-1);
		printf("      X.25: String CRC, Packet CRC=    0x%x   0x%x\n",i1,i2);
		i1=icrc(i2,lin,n,(short)0,-1);
		lin[n+1]=LOBYTE(i1);
		lin[n+2]=HIBYTE(i1);
		i2=icrc(i1,lin,n+2,(short)0,-1);
		printf(" CRC-CCITT: String CRC, Packet CRC=    0x%x   0x%x\n",i1,i2);
	}
	printf("Normal completion\n");
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -