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

📄 crc.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <flate.h>ulong*mkcrctab(ulong poly){	ulong *crctab;	ulong crc;	int i, j;	crctab = malloc(256 * sizeof(ulong));	if(crctab == nil)		return nil;	for(i = 0; i < 256; i++){		crc = i;		for(j = 0; j < 8; j++){			if(crc & 1)				crc = (crc >> 1) ^ poly;			else				crc >>= 1;		}		crctab[i] = crc;	}	return crctab;}ulongblockcrc(ulong *crctab, ulong crc, void *vbuf, int n){	uchar *buf, *ebuf;	crc ^= 0xffffffff;	buf = vbuf;	ebuf = buf + n;	while(buf < ebuf)		crc = crctab[(crc & 0xff) ^ *buf++] ^ (crc >> 8);	return crc ^ 0xffffffff;}

⌨️ 快捷键说明

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