1、生成CRC表的程序
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#define BIT(x) (1u << (x))
struct CRC_INFO {
unsigned char width;
unsigned int poly;
unsigned int init;
bool refin;
bool refout;
unsigned int xorout;
};
unsigned int table[256];
void printfTable()
{
int i=0;
for(i=0; i<256; ++i)
{
if(i%16==0)
printf("\n");
printf("0x%02X,",table[i]);
}
}
unsigned int reflected(unsigned int input, unsigned char bits)
{
unsigned int var = 0;
while (bits--) {
var <<= 1;
if (input & 0x01)
var |= 1;
input >>= 1;
}
return var;
}
void crc_table_init(const struct CRC_INFO *info)
{
unsigned short i;
unsigned char j;
unsigned int poly, value;
unsigned int valid_bits = (2 << (info->width - 1)) - 1;
if (info->refin) {
poly = reflected(info->poly, info->width);
for (i = 0; i < 256; i++) {
value = i;
for (j = 0; j < 8; j++) {
if (value & 1)
value = (value >> 1) ^ poly;
else
value = (value >> 1);
}
table[i] = value & valid_bits;
}
}
else {
poly = info->width < 8 ? info->poly << (8 - info->width) : info->poly;
unsigned int bit = info->width > 8 ? BIT(info->width - 1) : 0x80;
for (i = 0; i < 256; i++) {
value = info->width > 8 ? i << (info->width - 8) : i;
for (j = 0; j < 8; j++) {
if (value & bit)
value = (value << 1) ^ poly;
else
value = (value << 1);
}
table[i] = value & (info->width < 8 ? 0xff : valid_bits);
}
}
}
unsigned int crc(const struct CRC_INFO *info, const unsigned char *ptr, unsigned int len)
{
unsigned int value;
unsigned char high;
if (info->refin) {
value = reflected(info->init, info->width);
if (info->width > 8) {
while (len--) {
value = (value >> 8) ^ table[value & 0xff ^ *ptr++];
}
}
else while (len--) {
value = table[value ^ *ptr++];
}
}
else {
if (info->width > 8) {
value = info->init;
while (len--) {
high = value >> (info->width - 8);
value = (value << 8) ^ table[high ^ *ptr++];
}
}
else {
value = info->init << (8 - info->width);
while (len--) {
value = table[value ^ *ptr++];
}
value >>= 8 - info->width;
}
}
if (info->refout != info->refin)
value = reflected(value, info->width);
value ^= info->xorout;
return value & ((2 << (info->width - 1)) - 1);
}
const struct CRC_INFO crc_struct[] = {
{4, 0x03, 0x00, true, true, 0x00},
{5, 0x09, 0x09, false, false, 0x00},
{5, 0x15, 0x00, true, true, 0x00},
{5, 0x05, 0x1f, true, true, 0x1f},
{6, 0x03, 0x00, true, true, 0x00},
{7, 0x09, 0x00, false, false, 0x00},
{8, 0x07, 0x00, false, false, 0x00},
{8, 0x07, 0x00, false, false, 0x55},
{8, 0x07, 0xff, true, true, 0x00},
{8, 0x31, 0x00, true, true, 0x00},
{16, 0x8005, 0x0000, true, true, 0x0000},
{16, 0x8005, 0x0000, true, true, 0xffff},
{16, 0x8005, 0xffff, true, true, 0xffff},
{16, 0x8005, 0xffff, true, true, 0x0000},
{16, 0x1021, 0x0000, true, true, 0x0000},
{16, 0x1021, 0xffff, false, false, 0x0000},
{16, 0x1021, 0xffff, true, true, 0xffff},
{16, 0x1021, 0x0000, false, false, 0x0000},
{16, 0x3D65, 0x0000, true, true, 0xffff},
{32, 0x04C11DB7, 0xffffffff, true, true, 0xffffffff},
{32, 0x04C11DB7, 0xffffffff, false, false, 0x00000000},
{12, 0x111, 0x012, true, true, 0x012},
{12, 0x111, 0x012, false, false, 0x012},
};
void main()
{
const char* name[] = {
"CRC4_ITU",
"CRC5_EPC",
"CRC5_ITU",
"CRC5_USB",
"CRC6_ITU",
"CRC7_MMC",
"CRC8",
"CRC8_ITU",
"CRC8_ROHC",
"CRC8_MAXIN",
"CRC16_IBM",
"CRC16_MAXIN",
"CRC16_USB",
"CRC16_MODBUS",
"CRC16_CCITT",
"CRC16_CCITT_FALSE",
"CRC16_X25",
"CRC16_XMODEM",
"CRC16_DNP",
"CRC32",
"CRC32_MPEG_2",
"CRC_12_TRUE",
"CRC_12_FALSE",
};
unsigned int i;
char *str = "HelloWorld!";
unsigned int value;
printf("input string is \"%s\"\n", str);
for (i = 0; i < sizeof(crc_struct)/sizeof(crc_struct[0]); i++) {
crc_table_init(&crc_struct[i]);
printf("\n%s Table{", name[i]);
printfTable();
printf("\n};\n\n");
value = crc(&crc_struct[i], (unsigned char*)str, strlen(str));
printf("%s(\"%s\") = 0x%x\n", name[i], str, value);
printf("=======================================================\n");
}
}
2、结果如下
CRC4_ITU Table{
0x00,0x07,0x0E,0x09,0x05,0x02,0x0B,0x0C,0x0A,0x0D,0x04,0x03,0x0F,0x08,0x01,0x06,
0x0D,0x0A,0x03,0x04,0x08,0x0F,0x06,0x01,0x07,0x00,0x09,0x0E,0x02,0x05,0x0C,0x0B,
0x03,0x04,0x0D,0x0A,0x06,0x01,0x08,0x0F,0x09,0x0E,0x07,0x00,0x0C,0x0B,0x02,0x05,
0x0E,0x09,0x00,0x07,0x0B,0x0C,0x05,0x02,0x04,0x03,0x0A,0x0D,0x01,0x06,0x0F,0x08,
0x06,0x01,0x08,0x0F,0x03,0x04,0x0D,0x0A,0x0C,0x0B,0x02,0x05,0x09,0x0E,0x07,0x00,
0x0B,0x0C,0x05,0x02,0x0E,0x09,0x00,0x07,0x01,0x06,0x0F,0x08,0x04,0x03,0x0A,0x0D,
0x05,0x02,0x0B,0x0C,0x00,0x07,0x0E,0x09,0x0F,0x08,0x01,0x06,0x0A,0x0D,0x04,0x03,
0x08,0x0F,0x06,0x01,0x0D,0x0A,0x03,0x04,0x02,0x05,0x0C,0x0B,0x07,0x00,0x09,0x0E,
0x0C,0x0B,0x02,0x05,0x09,0x0E,0x07,0x00,0x06,0x01,0x08,0x0F,0x03,0x04,0x0D,0x0A,
0x01,0x06,0x0F,0x08,0x04,0x03,0x0A,0x0D,0x0B,0x0C,0x05,0x02,0x0E,0x09,0x00,0x07,
0x0F,0x08,0x01,0x06,0x0A,0x0D,0x04,0x03,0x05,0x02,0x0B,0x0C,0x00,0x07,0x0E,0x09,
0x02,0x05,0x0C,0x0B,0x07,0x00,0x09,0x0E,0x08,0x0F,0x06,0x01,0x0D,0x0A,0x03,0x04,
0x0A,0x0D,0x04,0x03,0x0F,0x08,0x01,0x06,0x00,0x07,0x0E,0x09,0x05,0x02,0x0B,0x0C,
0x07,0x00,0x09,0x0E,0x02,0x05,0x0C,0x0B,0x0D,0x0A,0x03,0x04,0x08,0x0F,0x06,0x01,
0x09,0x0E,0x07,0x00,0x0C,0x0B,0x02,0x05,0x03,0x04,0x0D,0x0A,0x06,0x01,0x08,0x0F,
0x04,0x03,0x0A,0x0D,0x01,0x06,0x0F,0x08,0x0E,0x09,0x00,0x07,0x0B,0x0C,0x05,0x02,
};
CRC4_ITU("HelloWorld!") = 0x8
=======================================================
CRC5_EPC Table{
0x00,0x48,0x90,0xD8,0x68,0x20,0xF8,0xB0,0xD0,0x98,0x40,0x08,0xB8,0xF0,0x28,0x60,
0xE8,0xA0,0x78,0x30,0x80,0xC8,0x10,0x58,0x38,0x70,0xA8,0xE0,0x50,0x18,0xC0,0x88,
0x98,0xD0,0x08,0x40,0xF0,0xB8,0x60,0x28,0x48,0x00,0xD8,0x90,0x20,0x68,0xB0,0xF8,
0x70,0x38,0xE0,0xA8,0x18,0x50,0x88,0xC0,0xA0,0xE8,0x30,0x78,0xC8,0x80,0x58,0x10,
0x78,0x30,0xE8,0xA0,0x10,0x58,0x80,0xC8,0xA8,0xE0,0x38,0x70,0xC0,0x88,0x50,0x18,
0x90,0xD8,0x00,0x48,0xF8,0xB0,0x68,0x20,0x40,0x08,0xD0,0x98,0x28,0x60,0xB8,0xF0,
0xE0,0xA8,0x70,0x38,0x88,0xC0,0x18,0x50,0x30,0x78,0xA0,0xE8,0x58,0x10,0xC8,0x80,
0x08,0x40,0x98,0xD0,0x60,0x28,0xF0,0xB8,0xD8,0x90,0x48,0x00,0xB0,0xF8,0x20,0x68,
0xF0,0xB8,0x60,0x28,0x98,0xD0,0x08,0x40,0x20,0x68,0xB0,0xF8,0x48,0x00,0xD8,0x90,
0x18,0x50,0x88,0xC0,0x70,0x38,0xE0,0xA8,0xC8,0x80,0x58,0x10,0xA0,0xE8,0x30,0x78,
0x68,0x20,0xF8,0xB0,0x00,0x48,0x90,0xD8,0xB8,0xF0,0x28,0x60,0xD0,0x98,0x40,0x08,
0x80,0xC8,0x10,0x58,0xE8,0xA0,0x78,0x30,0x50,0x18,0xC0,0x88,0x38,0x70,0xA8,0xE0,
0x88,0xC0,0x18,0x50,0xE0,0xA8,0x70,0x38,0x58,0x10,0xC8,0x80,0x30,0x78,0xA0,0xE8,
0x60,0x28,0xF0,0xB8,0x08,0x40,0x98,0xD0,0xB0,0xF8,0x20,0x68,0xD8,0x90,0x48,0x00,
0x10,0x58,0x80,0xC8,0x78,0x30,0xE8,0xA0,0xC0,0x88,0x50,0x18,0xA8,0xE0,0x38,0x70,
0xF8,0xB0,0x68,0x20,0x90,0xD8,0x00,0x48,0x28,0x60,0xB8,0xF0,0x40,0x08,0xD0,0x98,
};
CRC5_EPC("HelloWorld!") = 0x4
=======================================================
CRC5_ITU Table{
0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x13,0x14,0x1D,0x1A,0x0F,0x08,0x01,0x06,
0x0D,0x0A,0x03,0x04,0x11,0x16,0x1F,0x18,0x1E,0x19,0x10,0x17,0x02,0x05,0x0C,0x0B,
0x1A,0x1D,0x14,0x13,0x06,0x01,0x08,0x0F,0x09,0x0E,0x07,0x00,0x15,0x12,0x1B,0x1C,
0x17,0x10,0x19,0x1E,0x0B,0x0C,0x05,0x02,0x04,0x03,0x0A,0x0D,0x18,0x1F,0x16,0x11,
0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A,0x0C,0x0B,0x02,0x05,0x10,0x17,0x1E,0x19,
0x12,0x15,0x1C,0x1B,0x0E,0x09,0x00,0x07,0x01,0x06,0x0F,0x08,0x1D,0x1A,0x13,0x14,
0x05,0x02,0x0B,0x0C,0x19,0x1E,0x17,0x10,0x16,0x11,0x18,0x1F,0x0A,0x0D,0x04,0x03,
0x08,0x0F,0x06,0x01,0x14,0x13,0x1A,0x1D,0x1B,0x1C,0x15,0x12,0x07,0x00,0x09,0x0E,
0x15,0x12,0x1B,0x1C,0x09,0x0E,0x07,0x00,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,0x13,
0x18,0x1F,0x16,0x11,0x04,0x03,0x0A,0x0D,0x0B,0x0C,0x05,0x02,0x17,0x10,0x19,0x1E,
0x0F,0x08,0x01,0x06,0x13,0x14,0x1D,0x1A,0x1C,0x1B,0x12,0x15,0x00,0x07,0x0E,0x09,
0x02,0x05,0x0C,0x0B,0x1E,0x19,0x10,0x17,0x11,0x16,0x1F,0x18,0x0D,0x0A,0x03,0x04,
0x0A,0x0D,0x04,0x03,0x16,0x11,0x18,0x1F,0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x0C,
0x07,0x00,0x09,0x0E,0x1B,0x1C,0x15,0x12,0x14,0x13,0x1A,0x1D,0x08,0x0F,0x06,0x01,
0x10,0x17,0x1E,0x19,0x0C,0x0B,0x02,0x05,0x03,0x04,0x0D,0x0A,0x1F,0x18,0x11,0x16,
0x1D,0x1A,0x13,0x14,0x01,0x06,0x0F,0x08,0x0E,0x09,0x00,0x07,0x12,0x15,0x1C,0x1B,
};
CRC5_ITU("HelloWorld!") = 0x11
=======================================================
CRC5_USB Table{
0x00,0x0E,0x1C,0x12,0x11,0x1F,0x0D,0x03,0x0B,0x05,0x17,0x19,0x1A,0x14,0x06,0x08,
0x16,0x18,0x0A,0x04,0x07,0x09,0x1B,0x15,0x1D,0x13,0x01,0x0F,0x0C,0x02,0x10,0x1E,
0x05,0x0B,0x19,0x17,0x14,0x1A,0x08,0x06,0x0E,0x00,0x12,0x1C,0x1F,0x11,0x03,0x0D,
0x13,0x1D,0x0F,0x01,0x02,0x0C,0x1E,0x10,0x18,0x16,0x04,0x0A,0x09,0x07,0x15,0x1B,
0x0A,0x04,0x16,0x18,0x1B,0x15,0x07,0x09,0x01,0x0F,0x1D,0x13,0x10,0x1E,0x0C,0x02,
0x1C,0x12,0x00,0x0E,0x0D,0x03,0x11,0x1F,0x17,0x19,0x0B,0x05,0x06,0x08,0x1A,0x14,
0x0F,0x01,0x13,0x1D,0x1E,0x10,0x02,0x0C,0x04,0x0A,0x18,0x16,0x15,0x1B,0x09,0x07,
0x19,0x17,0x05,0x0B,0x08,0x06,0x14,0x1A,0x12,0x1C,0x0E,0x00,0x03,0x0D,0x1F,0x11,
0x14,0x1A,0x08,0x06,0x05,0x0B,0x19,0x17,0x1F,0x11,0x03,0x0D,0x0E,0x00,0x12,0x1C,
0x02,0x0C,0x1E,0x10,0x13,0x1D,0x0F,0x01,0x09,0x07,0x15,0x1B,0x18,0x16,0x04,0x0A,
0x11,0x1F,0x0D,0x03,0x00,0x0E,0x1C,0x12,0x1A,0x14,0x06,0x08,0x0B,0x05,0x17,0x19,
0x07,0x09,0x1B,0x15,0x16,0x18,0x0A,0x04,0x0C,0x02,0x10,0x1E,0x1D,0x13,0x01,0x0F,
0x1E,0x10,0x02,0x0C,0x0F,0x01,0x13,0x1D,0x15,0x1B,0x09,0x07,0x04,0x0A,0x18,0x16,
0x08,0x06,0x14,0x1A,0x19,0x17,0x05,0x0B,0x03,0x0D,0x1F,0x11,0x12,0x1C,0x0E,0x00,
0x1B,0x15,0x07,0x09,0x0A,0x04,0x16,0x18,0x10,0x1E,0x0C,0x02,0x01,0x0F,0x1D,0x13,
0x0D,0x03,0x11,0x1F,0x1C,0x12,0x00,0x0E,0x06,0x08,0x1A,0x14,0x17,0x19,0x0B,0x05,
};
CRC5_USB("HelloWorld!") = 0x1
=======================================================
CRC6_ITU Table{
0x00,0x14,0x28,0x3C,0x31,0x25,0x19,0x0D,0x03,0x17,0x2B,0x3F,0x32,0x26,0x1A,0x0E,
0x06,0x12,0x2E,0x3A,0x37,0x23,0x1F,0x0B,0x05,0x11,0x2D,0x39,0x34,0x20,0x1C,0x08,
0x0C,0x18,0x24,0x30,0x3D,0x29,0x15,0x01,0x0F,0x1B,0x27,0x33,0x3E,0x2A,0x16,0x02,
0x0A,0x1E,0x22,0x36,0x3B,0x2F,0x13,0x07,0x09,0x1D,0x21,0x35,0x38,0x2C,0x10,0x04,
0x18,0x0C,0x30,0x24,0x29,0x3D,0x01,0x15,0x1B,0x0F,0x33,0x27,0x2A,0x3E,0x02,0x16,
0x1E,0x0A,0x36,0x22,0x2F,0x3B,0x07,0x13,0x1D,0x09,0x35,0x21,0x2C,0x38,0x04,0x10,
0x14,0x00,0x3C,0x28,0x25,0x31,0x0D,0x19,0x17,0x03,0x3F,0x2B,0x26,0x32,0x0E,0x1A,
0x12,0x06,0x3A,0x2E,0x23,0x37,0x0B,0x1F,0x11,0x05,0x39,0x2D,0x20,0x34,0x08,0x1C,
0x30,0x24,0x18,0x0C,0x01,0x15,0x29,0x3D,0x33,0x27,0x1B,0x0F,0x02,0x16,0x2A,0x3E,
0x36,0x22,0x1E,0x0A,0x07,0x13,0x2F,0x3B,0x35,0x21,0x1D,0x09,0x04,0x10,0x2C,0x38,
0x3C,0x28,0x14,0x00,0x0D,0x19,0x25,0x31,0x3F,0x2B,0x17,0x03,0x0E,0x1A,0x26,0x32,
0x3A,0x2E,0x12,0x06,0x0B,0x1F,0x23,0x37,0x39,0x2D,0x11,0x05,0x08,0x1C,0x20,0x34,
0x28,0x3C,0x00,0x14,0x19,0x0D,0x31,0x25,0x2B,0x3F,0x03,0x17,0x1A,0x0E,0x32,0x26,
0x2E,0x3A,0x06,0x12,0x1F,0x0B,0x37,0x23,0x2D,0x39,0x05,0x11,0x1C,0x08,0x34,0x20,
0x24,0x30,0x0C,0x18,0x15,0x01,0x3D,0x29,0x27,0x33,0x0F,0x1B,0x16,0x02,0x3E,0x2A,
0x22,0x36,0x0A,0x1E,0x13,0x07,0x3B,0x2F,0x21,0x35,0x09,0x1D,0x10,0x04,0x38,0x2C,
};
CRC6_ITU("HelloWorld!") = 0x10
=======================================================
CRC7_MMC Table{
0x00,0x12,0x24,0x36,0x48,0x5A,0x6C,0x7E,0x90,0x82,0xB4,0xA6,0xD8,0xCA,0xFC,0xEE,
0x32,0x20,0x16,0x04,0x7A,0x68,0x5E,0x4C,0xA2,0xB0,0x86,0x94,0xEA,0xF8,0xCE,0xDC,
0x64,0x76,0x40,0x52,0x2C,0x3E,0x08,0x1A,0xF4,0xE6,0xD0,0xC2,0xBC,0xAE,0x98,0x8A,
0x56,0x44,0x72,0x60,0x1E,0x0C,0x3A,0x28,0xC6,0xD4,0xE2,0xF0,0x8E,0x9C,0xAA,0xB8,
0xC8,0xDA,0xEC,0xFE,0x80,0x92,0xA4,0xB6,0x58,0x4A,0x7C,0x6E,0x10,0x02,0x34,0x26,
0xFA,0xE8,0xDE,0xCC,0xB2,0xA0,0x96,0x84,0x6A,0x78,0x4E,0x5C,0x22,0x30,0x06,0x14,
0xAC,0xBE,0x88,0x9A,0xE4,0xF6,0xC0,0xD2,0x3C,0x2E,0x18,0x0A,0x74,0x66,0x50,0x42,
0x9E,0x8C,0xBA,0xA8,0xD6,0xC4,0xF2,0xE0,0x0E,0x1C,0x2A,0x38,0x46,0x54,0x62,0x70,
0x82,0x90,0xA6,0xB4,0xCA,0xD8,0xEE,0xFC,0x12,0x00,0x36,0x24,0x5A,0x48,0x7E,0x6C,
0xB0,0xA2,0x94,0x86,0xF8,0xEA,0xDC,0xCE,0x20,0x32,0x04,0x16,0x68,0x7A,0x4C,0x5E,
0xE6,0xF4,0xC2,0xD0,0xAE,0xBC,0x8A,0x98,0x76,0x64,0x52,0x40,0x3E,0x2C,0x1A,0x08,
0xD4,0xC6,0xF0,0xE2,0x9C,0x8E,0xB8,0xAA,0x44,0x56,0x60,0x72,0x0C,0x1E,0x28,0x3A,
0x4A,0x58,0x6E,0x7C,0x02,0x10,0x26,0x34,0xDA,0xC8,0xFE,0xEC,0x92,0x80,0xB6,0xA4,
0x78,0x6A,0x5C,0x4E,0x30,0x22,0x14,0x06,0xE8,0xFA,0xCC,0xDE,0xA0,0xB2,0x84,0x96,
0x2E,0x3C,0x0A,0x18,0x66,0x74,0x42,0x50,0xBE,0xAC,0x9A,0x88,0xF6,0xE4,0xD2,0xC0,
0x1C,0x0E,0x38,0x2A,0x54,0x46,0x70,0x62,0x8C,0x9E,0xA8,0xBA,0xC4,0xD6,0xE0,0xF2,
};
CRC7_MMC("HelloWorld!") = 0x40
=======================================================
CRC8 Table{
0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x38,0x3F,0x36,0x31,0x24,0x23,0x2A,0x2D,
0x70,0x77,0x7E,0x79,0x6C,0x6B,0x62,0x65,0x48,0x4F,0x46,0x41,0x54,0x53,0x5A,0x5D,
0xE0,0xE7,0xEE,0xE9,0xFC,0xFB,0xF2,0xF5,0xD8,0xDF,0xD6,0xD1,0xC4,0xC3,0xCA,0xCD,
0x90,0x97,0x9E,0x99,0x8C,0x8B,0x82,0x85,0xA8,0xAF,0xA6,0xA1,0xB4,0xB3,0xBA,0xBD,
0xC7,0xC0,0xC9,0xCE,0xDB,0xDC,0xD5,0xD2,0xFF,0xF8,0xF1,0xF6,0xE3,0xE4,0xED,0xEA,
0xB7,0xB0,0xB9,0xBE,0xAB,0xAC,0xA5,0xA2,0x8F,0x88,0x81,0x86,0x93,0x94,0x9D,0x9A,
0x27,0x20,0x29,0x2E,0x3B,0x3C,0x35,0x32,0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A,
0x57,0x50,0x59,0x5E,0x4B,0x4C,0x45,0x42,0x6F,0x68,0x61,0x66,0x73,0x74,0x7D,0x7A,
0x89,0x8E,0x87,0x80,0x95,0x92,0x9B,0x9C,0xB1,0xB6,0xBF,0xB8,0xAD,0xAA,0xA3,0xA4,
0xF9,0xFE,0xF7,0xF0,0xE5,0xE2,0xEB,0xEC,0xC1,0xC6,0xCF,0xC8,0xDD,0xDA,0xD3,0xD4,
0x69,0x6E,0x67,0x60,0x75,0x72,0x7B,0x7C,0x51,0x56,0x5F,0x58,0x4D,0x4A,0x43,0x44,
0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x0C,0x21,0x26,0x2F,0x28,0x3D,0x3A,0x33,0x34,
0x4E,0x49,0x40,0x47,0x52,0x55,0x5C,0x5B,0x76,0x71,0x78,0x7F,0x6A,0x6D,0x64,0x63,
0x3E,0x39,0x30,0x37,0x22,0x25,0x2C,0x2B,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,0x13,
0xAE,0xA9,0xA0,0xA7,0xB2,0xB5,0xBC,0xBB,0x96,0x91,0x98,0x9F,0x8A,0x8D,0x84,0x83,
0xDE,0xD9,0xD0,0xD7,0xC2,0xC5,0xCC,0xCB,0xE6,0xE1,0xE8,0xEF,0xFA,0xFD,0xF4,0xF3,
};
CRC8("HelloWorld!") = 0x5
=======================================================
CRC8_ITU Table{
0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x38,0x3F,0x36,0x31,0x24,0x23,0x2A,0x2D,
0x70,0x77,0x7E,0x79,0x6C,0x6B,0x62,0x65,0x48,0x4F,0x46,0x41,0x54,0x53,0x5A,0x5D,
0xE0,0xE7,0xEE,0xE9,0xFC,0xFB,0xF2,0xF5,0xD8,0xDF,0xD6,0xD1,0xC4,0xC3,0xCA,0xCD,
0x90,0x97,0x9E,0x99,0x8C,0x8B,0x82,0x85,0xA8,0xAF,0xA6,0xA1,0xB4,0xB3,0xBA,0xBD,
0xC7,0xC0,0xC9,0xCE,0xDB,0xDC,0xD5,0xD2,0xFF,0xF8,0xF1,0xF6,0xE3,0xE4,0xED,0xEA,
0xB7,0xB0,0xB9,0xBE,0xAB,0xAC,0xA5,0xA2,0x8F,0x88,0x81,0x86,0x93,0x94,0x9D,0x9A,
0x27,0x20,0x29,0x2E,0x3B,0x3C,0x35,0x32,0x1F,0x18,0x11,0x16,0x03,0x04,0x0D,0x0A,
0x57,0x50,0x59,0x5E,0x4B,0x4C,0x45,0x42,0x6F,0x68,0x61,0x66,0x73,0x74,0x7D,0x7A,
0x89,0x8E,0x87,0x80,0x95,0x92,0x9B,0x9C,0xB1,0xB6,0xBF,0xB8,0xAD,0xAA,0xA3,0xA4,
0xF9,0xFE,0xF7,0xF0,0xE5,0xE2,0xEB,0xEC,0xC1,0xC6,0xCF,0xC8,0xDD,0xDA,0xD3,0xD4,
0x69,0x6E,0x67,0x60,0x75,0x72,0x7B,0x7C,0x51,0x56,0x5F,0x58,0x4D,0x4A,0x43,0x44,
0x19,0x1E,0x17,0x10,0x05,0x02,0x0B,0x0C,0x21,0x26,0x2F,0x28,0x3D,0x3A,0x33,0x34,
0x4E,0x49,0x40,0x47,0x52,0x55,0x5C,0x5B,0x76,0x71,0x78,0x7F,0x6A,0x6D,0x64,0x63,
0x3E,0x39,0x30,0x37,0x22,0x25,0x2C,0x2B,0x06,0x01,0x08,0x0F,0x1A,0x1D,0x14,0x13,
0xAE,0xA9,0xA0,0xA7,0xB2,0xB5,0xBC,0xBB,0x96,0x91,0x98,0x9F,0x8A,0x8D,0x84,0x83,
0xDE,0xD9,0xD0,0xD7,0xC2,0xC5,0xCC,0xCB,0xE6,0xE1,0xE8,0xEF,0xFA,0xFD,0xF4,0xF3,
};
CRC8_ITU("HelloWorld!") = 0x50
=======================================================
CRC8_ROHC Table{
0x00,0x91,0xE3,0x72,0x07,0x96,0xE4,0x75,0x0E,0x9F,0xED,0x7C,0x09,0x98,0xEA,0x7B,
0x1C,0x8D,0xFF,0x6E,0x1B,0x8A,0xF8,0x69,0x12,0x83,0xF1,0x60,0x15,0x84,0xF6,0x67,
0x38,0xA9,0xDB,0x4A,0x3F,0xAE,0xDC,0x4D,0x36,0xA7,0xD5,0x44,0x31,0xA0,0xD2,0x43,
0x24,0xB5,0xC7,0x56,0x23,0xB2,0xC0,0x51,0x2A,0xBB,0xC9,0x58,0x2D,0xBC,0xCE,0x5F,
0x70,0xE1,0x93,0x02,0x77,0xE6,0x94,0x05,0x7E,0xEF,0x9D,0x0C,0x79,0xE8,0x9A,0x0B,
0x6C,0xFD,0x8F,0x1E,0x6B,0xFA,0x88,0x19,0x62,0xF3,0x81,0x10,0x65,0xF4,0x86,0x17,
0x48,0xD9,0xAB,0x3A,0x4F,0xDE,0xAC,0x3D,0x46,0xD7,0xA5,0x34,0x41,0xD0,0xA2,0x33,
0x54,0xC5,0xB7,0x26,0x53,0xC2,0xB0,0x21,0x5A,0xCB,0xB9,0x28,0x5D,0xCC,0xBE,0x2F,
0xE0,0x71,0x03,0x92,0xE7,0x76,0x04,0x95,0xEE,0x7F,0x0D,0x9C,0xE9,0x78,0x0A,0x9B,
0xFC,0x6D,0x1F,0x8E,0xFB,0x6A,0x18,0x89,0xF2,0x63,0x11,0x80,0xF5,0x64,0x16,0x87,
0xD8,0x49,0x3B,0xAA,0xDF,0x4E,0x3C,0xAD,0xD6,0x47,0x35,0xA4,0xD1,0x40,0x32,0xA3,
0xC4,0x55,0x27,0xB6,0xC3,0x52,0x20,0xB1,0xCA,0x5B,0x29,0xB8,0xCD,0x5C,0x2E,0xBF,
0x90,0x01,0x73,0xE2,0x97,0x06,0x74,0xE5,0x9E,0x0F,0x7D,0xEC,0x99,0x08,0x7A,0xEB,
0x8C,0x1D,0x6F,0xFE,0x8B,0x1A,0x68,0xF9,0x82,0x13,0x61,0xF0,0x85,0x14,0x66,0xF7,
0xA8,0x39,0x4B,0xDA,0xAF,0x3E,0x4C,0xDD,0xA6,0x37,0x45,0xD4,0xA1,0x30,0x42,0xD3,
0xB4,0x25,0x57,0xC6,0xB3,0x22,0x50,0xC1,0xBA,0x2B,0x59,0xC8,0xBD,0x2C,0x5E,0xCF,
};
CRC8_ROHC("HelloWorld!") = 0x8e
=======================================================
CRC8_MAXIN Table{
0x00,0x5E,0xBC,0xE2,0x61,0x3F,0xDD,0x83,0xC2,0x9C,0x7E,0x20,0xA3,0xFD,0x1F,0x41,
0x9D,0xC3,0x21,0x7F,0xFC,0xA2,0x40,0x1E,0x5F,0x01,0xE3,0xBD,0x3E,0x60,0x82,0xDC,
0x23,0x7D,0x9F,0xC1,0x42,0x1C,0xFE,0xA0,0xE1,0xBF,0x5D,0x03,0x80,0xDE,0x3C,0x62,
0xBE,0xE0,0x02,0x5C,0xDF,0x81,0x63,0x3D,0x7C,0x22,0xC0,0x9E,0x1D,0x43,0xA1,0xFF,
0x46,0x18,0xFA,0xA4,0x27,0x79,0x9B,0xC5,0x84,0xDA,0x38,0x66,0xE5,0xBB,0x59,0x07,
0xDB,0x85,0x67,0x39,0xBA,0xE4,0x06,0x58,0x19,0x47,0xA5,0xFB,0x78,0x26,0xC4,0x9A,
0x65,0x3B,0xD9,0x87,0x04,0x5A,0xB8,0xE6,0xA7,0xF9,0x1B,0x45,0xC6,0x98,0x7A,0x24,
0xF8,0xA6,0x44,0x1A,0x99,0xC7,0x25,0x7B,0x3A,0x64,0x86,0xD8,0x5B,0x05,0xE7,0xB9,
0x8C,0xD2,0x30,0x6E,0xED,0xB3,0x51,0x0F,0x4E,0x10,0xF2,0xAC,0x2F,0x71,0x93,0xCD,
0x11,0x4F,0xAD,0xF3,0x70,0x2E,0xCC,0x92,0xD3,0x8D,0x6F,0x31,0xB2,0xEC,0x0E,0x50,
0xAF,0xF1,0x13,0x4D,0xCE,0x90,0x72,0x2C,0x6D,0x33,0xD1,0x8F,0x0C,0x52,0xB0,0xEE,
0x32,0x6C,0x8E,0xD0,0x53,0x0D,0xEF,0xB1,0xF0,0xAE,0x4C,0x12,0x91,0xCF,0x2D,0x73,
0xCA,0x94,0x76,0x28,0xAB,0xF5,0x17,0x49,0x08,0x56,0xB4,0xEA,0x69,0x37,0xD5,0x8B,
0x57,0x09,0xEB,0xB5,0x36,0x68,0x8A,0xD4,0x95,0xCB,0x29,0x77,0xF4,0xAA,0x48,0x16,
0xE9,0xB7,0x55,0x0B,0x88,0xD6,0x34,0x6A,0x2B,0x75,0x97,0xC9,0x4A,0x14,0xF6,0xA8,
0x74,0x2A,0xC8,0x96,0x15,0x4B,0xA9,0xF7,0xB6,0xE8,0x0A,0x54,0xD7,0x89,0x6B,0x35,
};
CRC8_MAXIN("HelloWorld!") = 0xa9
=======================================================
CRC16_IBM Table{
0x00,0xC0C1,0xC181,0x140,0xC301,0x3C0,0x280,0xC241,0xC601,0x6C0,0x780,0xC741,0x500,0xC5C1,0xC481,0x440,
0xCC01,0xCC0,0xD80,0xCD41,0xF00,0xCFC1,0xCE81,0xE40,0xA00,0xCAC1,0xCB81,0xB40,0xC901,0x9C0,0x880,0xC841,
0xD801,0x18C0,0x1980,0xD941,0x1B00,0xDBC1,0xDA81,0x1A40,0x1E00,0xDEC1,0xDF81,0x1F40,0xDD01,0x1DC0,0x1C80,0xDC41,
0x1400,0xD4C1,0xD581,0x1540,0xD701,0x17C0,0x1680,0xD641,0xD201,0x12C0,0x1380,0xD341,0x1100,0xD1C1,0xD081,0x1040,
0xF001,0x30C0,0x3180,0xF141,0x3300,0xF3C1,0xF281,0x3240,0x3600,0xF6C1,0xF781,0x3740,0xF501,0x35C0,0x3480,0xF441,
0x3C00,0xFCC1,0xFD81,0x3D40,0xFF01,0x3FC0,0x3E80,0xFE41,0xFA01,0x3AC0,0x3B80,0xFB41,0x3900,0xF9C1,0xF881,0x3840,
0x2800,0xE8C1,0xE981,0x2940,0xEB01,0x2BC0,0x2A80,0xEA41,0xEE01,0x2EC0,0x2F80,0xEF41,0x2D00,0xEDC1,0xEC81,0x2C40,
0xE401,0x24C0,0x2580,0xE541,0x2700,0xE7C1,0xE681,0x2640,0x2200,0xE2C1,0xE381,0x2340,0xE101,0x21C0,0x2080,0xE041,
0xA001,0x60C0,0x6180,0xA141,0x6300,0xA3C1,0xA281,0x6240,0x6600,0xA6C1,0xA781,0x6740,0xA501,0x65C0,0x6480,0xA441,
0x6C00,0xACC1,0xAD81,0x6D40,0xAF01,0x6FC0,0x6E80,0xAE41,0xAA01,0x6AC0,0x6B80,0xAB41,0x6900,0xA9C1,0xA881,0x6840,
0x7800,0xB8C1,0xB981,0x7940,0xBB01,0x7BC0,0x7A80,0xBA41,0xBE01,0x7EC0,0x7F80,0xBF41,0x7D00,0xBDC1,0xBC81,0x7C40,
0xB401,0x74C0,0x7580,0xB541,0x7700,0xB7C1,0xB681,0x7640,0x7200,0xB2C1,0xB381,0x7340,0xB101,0x71C0,0x7080,0xB041,
0x5000,0x90C1,0x9181,0x5140,0x9301,0x53C0,0x5280,0x9241,0x9601,0x56C0,0x5780,0x9741,0x5500,0x95C1,0x9481,0x5440,
0x9C01,0x5CC0,0x5D80,0x9D41,0x5F00,0x9FC1,0x9E81,0x5E40,0x5A00,0x9AC1,0x9B81,0x5B40,0x9901,0x59C0,0x5880,0x9841,
0x8801,0x48C0,0x4980,0x8941,0x4B00,0x8BC1,0x8A81,0x4A40,0x4E00,0x8EC1,0x8F81,0x4F40,0x8D01,0x4DC0,0x4C80,0x8C41,
0x4400,0x84C1,0x8581,0x4540,0x8701,0x47C0,0x4680,0x8641,0x8201,0x42C0,0x4380,0x8341,0x4100,0x81C1,0x8081,0x4040,
};
CRC16_IBM("HelloWorld!") = 0x25e0
=======================================================
CRC16_MAXIN Table{
0x00,0xC0C1,0xC181,0x140,0xC301,0x3C0,0x280,0xC241,0xC601,0x6C0,0x780,0xC741,0x500,0xC5C1,0xC481,0x440,
0xCC01,0xCC0,0xD80,0xCD41,0xF00,0xCFC1,0xCE81,0xE40,0xA00,0xCAC1,0xCB81,0xB40,0xC901,0x9C0,0x880,0xC841,
0xD801,0x18C0,0x1980,0xD941,0x1B00,0xDBC1,0xDA81,0x1A40,0x1E00,0xDEC1,0xDF81,0x1F40,0xDD01,0x1DC0,0x1C80,0xDC41,
0x1400,0xD4C1,0xD581,0x1540,0xD701,0x17C0,0x1680,0xD641,0xD201,0x12C0,0x1380,0xD341,0x1100,0xD1C1,0xD081,0x1040,
0xF001,0x30C0,0x3180,0xF141,0x3300,0xF3C1,0xF281,0x3240,0x3600,0xF6C1,0xF781,0x3740,0xF501,0x35C0,0x3480,0xF441,
0x3C00,0xFCC1,0xFD81,0x3D40,0xFF01,0x3FC0,0x3E80,0xFE41,0xFA01,0x3AC0,0x3B80,0xFB41,0x3900,0xF9C1,0xF881,0x3840,
0x2800,0xE8C1,0xE981,0x2940,0xEB01,0x2BC0,0x2A80,0xEA41,0xEE01,0x2EC0,0x2F80,0xEF41,0x2D00,0xEDC1,0xEC81,0x2C40,
0xE401,0x24C0,0x2580,0xE541,0x2700,0xE7C1,0xE681,0x2640,0x2200,0xE2C1,0xE381,0x2340,0xE101,0x21C0,0x2080,0xE041,
0xA001,0x60C0,0x6180,0xA141,0x6300,0xA3C1,0xA281,0x6240,0x6600,0xA6C1,0xA781,0x6740,0xA501,0x65C0,0x6480,0xA441,
0x6C00,0xACC1,0xAD81,0x6D40,0xAF01,0x6FC0,0x6E80,0xAE41,0xAA01,0x6AC0,0x6B80,0xAB41,0x6900,0xA9C1,0xA881,0x6840,
0x7800,0xB8C1,0xB981,0x7940,0xBB01,0x7BC0,0x7A80,0xBA41,0xBE01,0x7EC0,0x7F80,0xBF41,0x7D00,0xBDC1,0xBC81,0x7C40,
0xB401,0x74C0,0x7580,0xB541,0x7700,0xB7C1,0xB681,0x7640,0x7200,0xB2C1,0xB381,0x7340,0xB101,0x71C0,0x7080,0xB041,
0x5000,0x90C1,0x9181,0x5140,0x9301,0x53C0,0x5280,0x9241,0x9601,0x56C0,0x5780,0x9741,0x5500,0x95C1,0x9481,0x5440,
0x9C01,0x5CC0,0x5D80,0x9D41,0x5F00,0x9FC1,0x9E81,0x5E40,0x5A00,0x9AC1,0x9B81,0x5B40,0x9901,0x59C0,0x5880,0x9841,
0x8801,0x48C0,0x4980,0x8941,0x4B00,0x8BC1,0x8A81,0x4A40,0x4E00,0x8EC1,0x8F81,0x4F40,0x8D01,0x4DC0,0x4C80,0x8C41,
0x4400,0x84C1,0x8581,0x4540,0x8701,0x47C0,0x4680,0x8641,0x8201,0x42C0,0x4380,0x8341,0x4100,0x81C1,0x8081,0x4040,
};
CRC16_MAXIN("HelloWorld!") = 0xda1f
=======================================================
CRC16_USB Table{
0x00,0xC0C1,0xC181,0x140,0xC301,0x3C0,0x280,0xC241,0xC601,0x6C0,0x780,0xC741,0x500,0xC5C1,0xC481,0x440,
0xCC01,0xCC0,0xD80,0xCD41,0xF00,0xCFC1,0xCE81,0xE40,0xA00,0xCAC1,0xCB81,0xB40,0xC901,0x9C0,0x880,0xC841,
0xD801,0x18C0,0x1980,0xD941,0x1B00,0xDBC1,0xDA81,0x1A40,0x1E00,0xDEC1,0xDF81,0x1F40,0xDD01,0x1DC0,0x1C80,0xDC41,
0x1400,0xD4C1,0xD581,0x1540,0xD701,0x17C0,0x1680,0xD641,0xD201,0x12C0,0x1380,0xD341,0x1100,0xD1C1,0xD081,0x1040,
0xF001,0x30C0,0x3180,0xF141,0x3300,0xF3C1,0xF281,0x3240,0x3600,0xF6C1,0xF781,0x3740,0xF501,0x35C0,0x3480,0xF441,
0x3C00,0xFCC1,0xFD81,0x3D40,0xFF01,0x3FC0,0x3E80,0xFE41,0xFA01,0x3AC0,0x3B80,0xFB41,0x3900,0xF9C1,0xF881,0x3840,
0x2800,0xE8C1,0xE981,0x2940,0xEB01,0x2BC0,0x2A80,0xEA41,0xEE01,0x2EC0,0x2F80,0xEF41,0x2D00,0xEDC1,0xEC81,0x2C40,
0xE401,0x24C0,0x2580,0xE541,0x2700,0xE7C1,0xE681,0x2640,0x2200,0xE2C1,0xE381,0x2340,0xE101,0x21C0,0x2080,0xE041,
0xA001,0x60C0,0x6180,0xA141,0x6300,0xA3C1,0xA281,0x6240,0x6600,0xA6C1,0xA781,0x6740,0xA501,0x65C0,0x6480,0xA441,
0x6C00,0xACC1,0xAD81,0x6D40,0xAF01,0x6FC0,0x6E80,0xAE41,0xAA01,0x6AC0,0x6B80,0xAB41,0x6900,0xA9C1,0xA881,0x6840,
0x7800,0xB8C1,0xB981,0x7940,0xBB01,0x7BC0,0x7A80,0xBA41,0xBE01,0x7EC0,0x7F80,0xBF41,0x7D00,0xBDC1,0xBC81,0x7C40,
0xB401,0x74C0,0x7580,0xB541,0x7700,0xB7C1,0xB681,0x7640,0x7200,0xB2C1,0xB381,0x7340,0xB101,0x71C0,0x7080,0xB041,
0x5000,0x90C1,0x9181,0x5140,0x9301,0x53C0,0x5280,0x9241,0x9601,0x56C0,0x5780,0x9741,0x5500,0x95C1,0x9481,0x5440,
0x9C01,0x5CC0,0x5D80,0x9D41,0x5F00,0x9FC1,0x9E81,0x5E40,0x5A00,0x9AC1,0x9B81,0x5B40,0x9901,0x59C0,0x5880,0x9841,
0x8801,0x48C0,0x4980,0x8941,0x4B00,0x8BC1,0x8A81,0x4A40,0x4E00,0x8EC1,0x8F81,0x4F40,0x8D01,0x4DC0,0x4C80,0x8C41,
0x4400,0x84C1,0x8581,0x4540,0x8701,0x47C0,0x4680,0x8641,0x8201,0x42C0,0x4380,0x8341,0x4100,0x81C1,0x8081,0x4040,
};
CRC16_USB("HelloWorld!") = 0x3e19
=======================================================
CRC16_MODBUS Table{
0x00,0xC0C1,0xC181,0x140,0xC301,0x3C0,0x280,0xC241,0xC601,0x6C0,0x780,0xC741,0x500,0xC5C1,0xC481,0x440,
0xCC01,0xCC0,0xD80,0xCD41,0xF00,0xCFC1,0xCE81,0xE40,0xA00,0xCAC1,0xCB81,0xB40,0xC901,0x9C0,0x880,0xC841,
0xD801,0x18C0,0x1980,0xD941,0x1B00,0xDBC1,0xDA81,0x1A40,0x1E00,0xDEC1,0xDF81,0x1F40,0xDD01,0x1DC0,0x1C80,0xDC41,
0x1400,0xD4C1,0xD581,0x1540,0xD701,0x17C0,0x1680,0xD641,0xD201,0x12C0,0x1380,0xD341,0x1100,0xD1C1,0xD081,0x1040,
0xF001,0x30C0,0x3180,0xF141,0x3300,0xF3C1,0xF281,0x3240,0x3600,0xF6C1,0xF781,0x3740,0xF501,0x35C0,0x3480,0xF441,
0x3C00,0xFCC1,0xFD81,0x3D40,0xFF01,0x3FC0,0x3E80,0xFE41,0xFA01,0x3AC0,0x3B80,0xFB41,0x3900,0xF9C1,0xF881,0x3840,
0x2800,0xE8C1,0xE981,0x2940,0xEB01,0x2BC0,0x2A80,0xEA41,0xEE01,0x2EC0,0x2F80,0xEF41,0x2D00,0xEDC1,0xEC81,0x2C40,
0xE401,0x24C0,0x2580,0xE541,0x2700,0xE7C1,0xE681,0x2640,0x2200,0xE2C1,0xE381,0x2340,0xE101,0x21C0,0x2080,0xE041,
0xA001,0x60C0,0x6180,0xA141,0x6300,0xA3C1,0xA281,0x6240,0x6600,0xA6C1,0xA781,0x6740,0xA501,0x65C0,0x6480,0xA441,
0x6C00,0xACC1,0xAD81,0x6D40,0xAF01,0x6FC0,0x6E80,0xAE41,0xAA01,0x6AC0,0x6B80,0xAB41,0x6900,0xA9C1,0xA881,0x6840,
0x7800,0xB8C1,0xB981,0x7940,0xBB01,0x7BC0,0x7A80,0xBA41,0xBE01,0x7EC0,0x7F80,0xBF41,0x7D00,0xBDC1,0xBC81,0x7C40,
0xB401,0x74C0,0x7580,0xB541,0x7700,0xB7C1,0xB681,0x7640,0x7200,0xB2C1,0xB381,0x7340,0xB101,0x71C0,0x7080,0xB041,
0x5000,0x90C1,0x9181,0x5140,0x9301,0x53C0,0x5280,0x9241,0x9601,0x56C0,0x5780,0x9741,0x5500,0x95C1,0x9481,0x5440,
0x9C01,0x5CC0,0x5D80,0x9D41,0x5F00,0x9FC1,0x9E81,0x5E40,0x5A00,0x9AC1,0x9B81,0x5B40,0x9901,0x59C0,0x5880,0x9841,
0x8801,0x48C0,0x4980,0x8941,0x4B00,0x8BC1,0x8A81,0x4A40,0x4E00,0x8EC1,0x8F81,0x4F40,0x8D01,0x4DC0,0x4C80,0x8C41,
0x4400,0x84C1,0x8581,0x4540,0x8701,0x47C0,0x4680,0x8641,0x8201,0x42C0,0x4380,0x8341,0x4100,0x81C1,0x8081,0x4040,
};
CRC16_MODBUS("HelloWorld!") = 0xc1e6
=======================================================
CRC16_CCITT Table{
0x00,0x1189,0x2312,0x329B,0x4624,0x57AD,0x6536,0x74BF,0x8C48,0x9DC1,0xAF5A,0xBED3,0xCA6C,0xDBE5,0xE97E,0xF8F7,
0x1081,0x108,0x3393,0x221A,0x56A5,0x472C,0x75B7,0x643E,0x9CC9,0x8D40,0xBFDB,0xAE52,0xDAED,0xCB64,0xF9FF,0xE876,
0x2102,0x308B,0x210,0x1399,0x6726,0x76AF,0x4434,0x55BD,0xAD4A,0xBCC3,0x8E58,0x9FD1,0xEB6E,0xFAE7,0xC87C,0xD9F5,
0x3183,0x200A,0x1291,0x318,0x77A7,0x662E,0x54B5,0x453C,0xBDCB,0xAC42,0x9ED9,0x8F50,0xFBEF,0xEA66,0xD8FD,0xC974,
0x4204,0x538D,0x6116,0x709F,0x420,0x15A9,0x2732,0x36BB,0xCE4C,0xDFC5,0xED5E,0xFCD7,0x8868,0x99E1,0xAB7A,0xBAF3,
0x5285,0x430C,0x7197,0x601E,0x14A1,0x528,0x37B3,0x263A,0xDECD,0xCF44,0xFDDF,0xEC56,0x98E9,0x8960,0xBBFB,0xAA72,
0x6306,0x728F,0x4014,0x519D,0x2522,0x34AB,0x630,0x17B9,0xEF4E,0xFEC7,0xCC5C,0xDDD5,0xA96A,0xB8E3,0x8A78,0x9BF1,
0x7387,0x620E,0x5095,0x411C,0x35A3,0x242A,0x16B1,0x738,0xFFCF,0xEE46,0xDCDD,0xCD54,0xB9EB,0xA862,0x9AF9,0x8B70,
0x8408,0x9581,0xA71A,0xB693,0xC22C,0xD3A5,0xE13E,0xF0B7,0x840,0x19C9,0x2B52,0x3ADB,0x4E64,0x5FED,0x6D76,0x7CFF,
0x9489,0x8500,0xB79B,0xA612,0xD2AD,0xC324,0xF1BF,0xE036,0x18C1,0x948,0x3BD3,0x2A5A,0x5EE5,0x4F6C,0x7DF7,0x6C7E,
0xA50A,0xB483,0x8618,0x9791,0xE32E,0xF2A7,0xC03C,0xD1B5,0x2942,0x38CB,0xA50,0x1BD9,0x6F66,0x7EEF,0x4C74,0x5DFD,
0xB58B,0xA402,0x9699,0x8710,0xF3AF,0xE226,0xD0BD,0xC134,0x39C3,0x284A,0x1AD1,0xB58,0x7FE7,0x6E6E,0x5CF5,0x4D7C,
0xC60C,0xD785,0xE51E,0xF497,0x8028,0x91A1,0xA33A,0xB2B3,0x4A44,0x5BCD,0x6956,0x78DF,0xC60,0x1DE9,0x2F72,0x3EFB,
0xD68D,0xC704,0xF59F,0xE416,0x90A9,0x8120,0xB3BB,0xA232,0x5AC5,0x4B4C,0x79D7,0x685E,0x1CE1,0xD68,0x3FF3,0x2E7A,
0xE70E,0xF687,0xC41C,0xD595,0xA12A,0xB0A3,0x8238,0x93B1,0x6B46,0x7ACF,0x4854,0x59DD,0x2D62,0x3CEB,0xE70,0x1FF9,
0xF78F,0xE606,0xD49D,0xC514,0xB1AB,0xA022,0x92B9,0x8330,0x7BC7,0x6A4E,0x58D5,0x495C,0x3DE3,0x2C6A,0x1EF1,0xF78,
};
CRC16_CCITT("HelloWorld!") = 0x7221
=======================================================
CRC16_CCITT_FALSE Table{
0x00,0x1021,0x2042,0x3063,0x4084,0x50A5,0x60C6,0x70E7,0x8108,0x9129,0xA14A,0xB16B,0xC18C,0xD1AD,0xE1CE,0xF1EF,
0x1231,0x210,0x3273,0x2252,0x52B5,0x4294,0x72F7,0x62D6,0x9339,0x8318,0xB37B,0xA35A,0xD3BD,0xC39C,0xF3FF,0xE3DE,
0x2462,0x3443,0x420,0x1401,0x64E6,0x74C7,0x44A4,0x5485,0xA56A,0xB54B,0x8528,0x9509,0xE5EE,0xF5CF,0xC5AC,0xD58D,
0x3653,0x2672,0x1611,0x630,0x76D7,0x66F6,0x5695,0x46B4,0xB75B,0xA77A,0x9719,0x8738,0xF7DF,0xE7FE,0xD79D,0xC7BC,
0x48C4,0x58E5,0x6886,0x78A7,0x840,0x1861,0x2802,0x3823,0xC9CC,0xD9ED,0xE98E,0xF9AF,0x8948,0x9969,0xA90A,0xB92B,
0x5AF5,0x4AD4,0x7AB7,0x6A96,0x1A71,0xA50,0x3A33,0x2A12,0xDBFD,0xCBDC,0xFBBF,0xEB9E,0x9B79,0x8B58,0xBB3B,0xAB1A,
0x6CA6,0x7C87,0x4CE4,0x5CC5,0x2C22,0x3C03,0xC60,0x1C41,0xEDAE,0xFD8F,0xCDEC,0xDDCD,0xAD2A,0xBD0B,0x8D68,0x9D49,
0x7E97,0x6EB6,0x5ED5,0x4EF4,0x3E13,0x2E32,0x1E51,0xE70,0xFF9F,0xEFBE,0xDFDD,0xCFFC,0xBF1B,0xAF3A,0x9F59,0x8F78,
0x9188,0x81A9,0xB1CA,0xA1EB,0xD10C,0xC12D,0xF14E,0xE16F,0x1080,0xA1,0x30C2,0x20E3,0x5004,0x4025,0x7046,0x6067,
0x83B9,0x9398,0xA3FB,0xB3DA,0xC33D,0xD31C,0xE37F,0xF35E,0x2B1,0x1290,0x22F3,0x32D2,0x4235,0x5214,0x6277,0x7256,
0xB5EA,0xA5CB,0x95A8,0x8589,0xF56E,0xE54F,0xD52C,0xC50D,0x34E2,0x24C3,0x14A0,0x481,0x7466,0x6447,0x5424,0x4405,
0xA7DB,0xB7FA,0x8799,0x97B8,0xE75F,0xF77E,0xC71D,0xD73C,0x26D3,0x36F2,0x691,0x16B0,0x6657,0x7676,0x4615,0x5634,
0xD94C,0xC96D,0xF90E,0xE92F,0x99C8,0x89E9,0xB98A,0xA9AB,0x5844,0x4865,0x7806,0x6827,0x18C0,0x8E1,0x3882,0x28A3,
0xCB7D,0xDB5C,0xEB3F,0xFB1E,0x8BF9,0x9BD8,0xABBB,0xBB9A,0x4A75,0x5A54,0x6A37,0x7A16,0xAF1,0x1AD0,0x2AB3,0x3A92,
0xFD2E,0xED0F,0xDD6C,0xCD4D,0xBDAA,0xAD8B,0x9DE8,0x8DC9,0x7C26,0x6C07,0x5C64,0x4C45,0x3CA2,0x2C83,0x1CE0,0xCC1,
0xEF1F,0xFF3E,0xCF5D,0xDF7C,0xAF9B,0xBFBA,0x8FD9,0x9FF8,0x6E17,0x7E36,0x4E55,0x5E74,0x2E93,0x3EB2,0xED1,0x1EF0,
};
CRC16_CCITT_FALSE("HelloWorld!") = 0x25b0
=======================================================
CRC16_X25 Table{
0x00,0x1189,0x2312,0x329B,0x4624,0x57AD,0x6536,0x74BF,0x8C48,0x9DC1,0xAF5A,0xBED3,0xCA6C,0xDBE5,0xE97E,0xF8F7,
0x1081,0x108,0x3393,0x221A,0x56A5,0x472C,0x75B7,0x643E,0x9CC9,0x8D40,0xBFDB,0xAE52,0xDAED,0xCB64,0xF9FF,0xE876,
0x2102,0x308B,0x210,0x1399,0x6726,0x76AF,0x4434,0x55BD,0xAD4A,0xBCC3,0x8E58,0x9FD1,0xEB6E,0xFAE7,0xC87C,0xD9F5,
0x3183,0x200A,0x1291,0x318,0x77A7,0x662E,0x54B5,0x453C,0xBDCB,0xAC42,0x9ED9,0x8F50,0xFBEF,0xEA66,0xD8FD,0xC974,
0x4204,0x538D,0x6116,0x709F,0x420,0x15A9,0x2732,0x36BB,0xCE4C,0xDFC5,0xED5E,0xFCD7,0x8868,0x99E1,0xAB7A,0xBAF3,
0x5285,0x430C,0x7197,0x601E,0x14A1,0x528,0x37B3,0x263A,0xDECD,0xCF44,0xFDDF,0xEC56,0x98E9,0x8960,0xBBFB,0xAA72,
0x6306,0x728F,0x4014,0x519D,0x2522,0x34AB,0x630,0x17B9,0xEF4E,0xFEC7,0xCC5C,0xDDD5,0xA96A,0xB8E3,0x8A78,0x9BF1,
0x7387,0x620E,0x5095,0x411C,0x35A3,0x242A,0x16B1,0x738,0xFFCF,0xEE46,0xDCDD,0xCD54,0xB9EB,0xA862,0x9AF9,0x8B70,
0x8408,0x9581,0xA71A,0xB693,0xC22C,0xD3A5,0xE13E,0xF0B7,0x840,0x19C9,0x2B52,0x3ADB,0x4E64,0x5FED,0x6D76,0x7CFF,
0x9489,0x8500,0xB79B,0xA612,0xD2AD,0xC324,0xF1BF,0xE036,0x18C1,0x948,0x3BD3,0x2A5A,0x5EE5,0x4F6C,0x7DF7,0x6C7E,
0xA50A,0xB483,0x8618,0x9791,0xE32E,0xF2A7,0xC03C,0xD1B5,0x2942,0x38CB,0xA50,0x1BD9,0x6F66,0x7EEF,0x4C74,0x5DFD,
0xB58B,0xA402,0x9699,0x8710,0xF3AF,0xE226,0xD0BD,0xC134,0x39C3,0x284A,0x1AD1,0xB58,0x7FE7,0x6E6E,0x5CF5,0x4D7C,
0xC60C,0xD785,0xE51E,0xF497,0x8028,0x91A1,0xA33A,0xB2B3,0x4A44,0x5BCD,0x6956,0x78DF,0xC60,0x1DE9,0x2F72,0x3EFB,
0xD68D,0xC704,0xF59F,0xE416,0x90A9,0x8120,0xB3BB,0xA232,0x5AC5,0x4B4C,0x79D7,0x685E,0x1CE1,0xD68,0x3FF3,0x2E7A,
0xE70E,0xF687,0xC41C,0xD595,0xA12A,0xB0A3,0x8238,0x93B1,0x6B46,0x7ACF,0x4854,0x59DD,0x2D62,0x3CEB,0xE70,0x1FF9,
0xF78F,0xE606,0xD49D,0xC514,0xB1AB,0xA022,0x92B9,0x8330,0x7BC7,0x6A4E,0x58D5,0x495C,0x3DE3,0x2C6A,0x1EF1,0xF78,
};
CRC16_X25("HelloWorld!") = 0x7df5
=======================================================
CRC16_XMODEM Table{
0x00,0x1021,0x2042,0x3063,0x4084,0x50A5,0x60C6,0x70E7,0x8108,0x9129,0xA14A,0xB16B,0xC18C,0xD1AD,0xE1CE,0xF1EF,
0x1231,0x210,0x3273,0x2252,0x52B5,0x4294,0x72F7,0x62D6,0x9339,0x8318,0xB37B,0xA35A,0xD3BD,0xC39C,0xF3FF,0xE3DE,
0x2462,0x3443,0x420,0x1401,0x64E6,0x74C7,0x44A4,0x5485,0xA56A,0xB54B,0x8528,0x9509,0xE5EE,0xF5CF,0xC5AC,0xD58D,
0x3653,0x2672,0x1611,0x630,0x76D7,0x66F6,0x5695,0x46B4,0xB75B,0xA77A,0x9719,0x8738,0xF7DF,0xE7FE,0xD79D,0xC7BC,
0x48C4,0x58E5,0x6886,0x78A7,0x840,0x1861,0x2802,0x3823,0xC9CC,0xD9ED,0xE98E,0xF9AF,0x8948,0x9969,0xA90A,0xB92B,
0x5AF5,0x4AD4,0x7AB7,0x6A96,0x1A71,0xA50,0x3A33,0x2A12,0xDBFD,0xCBDC,0xFBBF,0xEB9E,0x9B79,0x8B58,0xBB3B,0xAB1A,
0x6CA6,0x7C87,0x4CE4,0x5CC5,0x2C22,0x3C03,0xC60,0x1C41,0xEDAE,0xFD8F,0xCDEC,0xDDCD,0xAD2A,0xBD0B,0x8D68,0x9D49,
0x7E97,0x6EB6,0x5ED5,0x4EF4,0x3E13,0x2E32,0x1E51,0xE70,0xFF9F,0xEFBE,0xDFDD,0xCFFC,0xBF1B,0xAF3A,0x9F59,0x8F78,
0x9188,0x81A9,0xB1CA,0xA1EB,0xD10C,0xC12D,0xF14E,0xE16F,0x1080,0xA1,0x30C2,0x20E3,0x5004,0x4025,0x7046,0x6067,
0x83B9,0x9398,0xA3FB,0xB3DA,0xC33D,0xD31C,0xE37F,0xF35E,0x2B1,0x1290,0x22F3,0x32D2,0x4235,0x5214,0x6277,0x7256,
0xB5EA,0xA5CB,0x95A8,0x8589,0xF56E,0xE54F,0xD52C,0xC50D,0x34E2,0x24C3,0x14A0,0x481,0x7466,0x6447,0x5424,0x4405,
0xA7DB,0xB7FA,0x8799,0x97B8,0xE75F,0xF77E,0xC71D,0xD73C,0x26D3,0x36F2,0x691,0x16B0,0x6657,0x7676,0x4615,0x5634,
0xD94C,0xC96D,0xF90E,0xE92F,0x99C8,0x89E9,0xB98A,0xA9AB,0x5844,0x4865,0x7806,0x6827,0x18C0,0x8E1,0x3882,0x28A3,
0xCB7D,0xDB5C,0xEB3F,0xFB1E,0x8BF9,0x9BD8,0xABBB,0xBB9A,0x4A75,0x5A54,0x6A37,0x7A16,0xAF1,0x1AD0,0x2AB3,0x3A92,
0xFD2E,0xED0F,0xDD6C,0xCD4D,0xBDAA,0xAD8B,0x9DE8,0x8DC9,0x7C26,0x6C07,0x5C64,0x4C45,0x3CA2,0x2C83,0x1CE0,0xCC1,
0xEF1F,0xFF3E,0xCF5D,0xDF7C,0xAF9B,0xBFBA,0x8FD9,0x9FF8,0x6E17,0x7E36,0x4E55,0x5E74,0x2E93,0x3EB2,0xED1,0x1EF0,
};
CRC16_XMODEM("HelloWorld!") = 0xf1bf
=======================================================
CRC16_DNP Table{
0x00,0x365E,0x6CBC,0x5AE2,0xD978,0xEF26,0xB5C4,0x839A,0xFF89,0xC9D7,0x9335,0xA56B,0x26F1,0x10AF,0x4A4D,0x7C13,
0xB26B,0x8435,0xDED7,0xE889,0x6B13,0x5D4D,0x7AF,0x31F1,0x4DE2,0x7BBC,0x215E,0x1700,0x949A,0xA2C4,0xF826,0xCE78,
0x29AF,0x1FF1,0x4513,0x734D,0xF0D7,0xC689,0x9C6B,0xAA35,0xD626,0xE078,0xBA9A,0x8CC4,0xF5E,0x3900,0x63E2,0x55BC,
0x9BC4,0xAD9A,0xF778,0xC126,0x42BC,0x74E2,0x2E00,0x185E,0x644D,0x5213,0x8F1,0x3EAF,0xBD35,0x8B6B,0xD189,0xE7D7,
0x535E,0x6500,0x3FE2,0x9BC,0x8A26,0xBC78,0xE69A,0xD0C4,0xACD7,0x9A89,0xC06B,0xF635,0x75AF,0x43F1,0x1913,0x2F4D,
0xE135,0xD76B,0x8D89,0xBBD7,0x384D,0xE13,0x54F1,0x62AF,0x1EBC,0x28E2,0x7200,0x445E,0xC7C4,0xF19A,0xAB78,0x9D26,
0x7AF1,0x4CAF,0x164D,0x2013,0xA389,0x95D7,0xCF35,0xF96B,0x8578,0xB326,0xE9C4,0xDF9A,0x5C00,0x6A5E,0x30BC,0x6E2,
0xC89A,0xFEC4,0xA426,0x9278,0x11E2,0x27BC,0x7D5E,0x4B00,0x3713,0x14D,0x5BAF,0x6DF1,0xEE6B,0xD835,0x82D7,0xB489,
0xA6BC,0x90E2,0xCA00,0xFC5E,0x7FC4,0x499A,0x1378,0x2526,0x5935,0x6F6B,0x3589,0x3D7,0x804D,0xB613,0xECF1,0xDAAF,
0x14D7,0x2289,0x786B,0x4E35,0xCDAF,0xFBF1,0xA113,0x974D,0xEB5E,0xDD00,0x87E2,0xB1BC,0x3226,0x478,0x5E9A,0x68C4,
0x8F13,0xB94D,0xE3AF,0xD5F1,0x566B,0x6035,0x3AD7,0xC89,0x709A,0x46C4,0x1C26,0x2A78,0xA9E2,0x9FBC,0xC55E,0xF300,
0x3D78,0xB26,0x51C4,0x679A,0xE400,0xD25E,0x88BC,0xBEE2,0xC2F1,0xF4AF,0xAE4D,0x9813,0x1B89,0x2DD7,0x7735,0x416B,
0xF5E2,0xC3BC,0x995E,0xAF00,0x2C9A,0x1AC4,0x4026,0x7678,0xA6B,0x3C35,0x66D7,0x5089,0xD313,0xE54D,0xBFAF,0x89F1,
0x4789,0x71D7,0x2B35,0x1D6B,0x9EF1,0xA8AF,0xF24D,0xC413,0xB800,0x8E5E,0xD4BC,0xE2E2,0x6178,0x5726,0xDC4,0x3B9A,
0xDC4D,0xEA13,0xB0F1,0x86AF,0x535,0x336B,0x6989,0x5FD7,0x23C4,0x159A,0x4F78,0x7926,0xFABC,0xCCE2,0x9600,0xA05E,
0x6E26,0x5878,0x29A,0x34C4,0xB75E,0x8100,0xDBE2,0xEDBC,0x91AF,0xA7F1,0xFD13,0xCB4D,0x48D7,0x7E89,0x246B,0x1235,
};
CRC16_DNP("HelloWorld!") = 0x3a9a
=======================================================
CRC32 Table{
0x00,0x77073096,0xEE0E612C,0x990951BA,0x76DC419,0x706AF48F,0xE963A535,0x9E6495A3,0xEDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988,0x9B64C2B,0x7EB17CBD,0xE7B82D07,0x90BF1D91,
0x1DB71064,0x6AB020F2,0xF3B97148,0x84BE41DE,0x1ADAD47D,0x6DDDE4EB,0xF4D4B551,0x83D385C7,0x136C9856,0x646BA8C0,0xFD62F97A,0x8A65C9EC,0x14015C4F,0x63066CD9,0xFA0F3D63,0x8D080DF5,
0x3B6E20C8,0x4C69105E,0xD56041E4,0xA2677172,0x3C03E4D1,0x4B04D447,0xD20D85FD,0xA50AB56B,0x35B5A8FA,0x42B2986C,0xDBBBC9D6,0xACBCF940,0x32D86CE3,0x45DF5C75,0xDCD60DCF,0xABD13D59,
0x26D930AC,0x51DE003A,0xC8D75180,0xBFD06116,0x21B4F4B5,0x56B3C423,0xCFBA9599,0xB8BDA50F,0x2802B89E,0x5F058808,0xC60CD9B2,0xB10BE924,0x2F6F7C87,0x58684C11,0xC1611DAB,0xB6662D3D,
0x76DC4190,0x1DB7106,0x98D220BC,0xEFD5102A,0x71B18589,0x6B6B51F,0x9FBFE4A5,0xE8B8D433,0x7807C9A2,0xF00F934,0x9609A88E,0xE10E9818,0x7F6A0DBB,0x86D3D2D,0x91646C97,0xE6635C01,
0x6B6B51F4,0x1C6C6162,0x856530D8,0xF262004E,0x6C0695ED,0x1B01A57B,0x8208F4C1,0xF50FC457,0x65B0D9C6,0x12B7E950,0x8BBEB8EA,0xFCB9887C,0x62DD1DDF,0x15DA2D49,0x8CD37CF3,0xFBD44C65,
0x4DB26158,0x3AB551CE,0xA3BC0074,0xD4BB30E2,0x4ADFA541,0x3DD895D7,0xA4D1C46D,0xD3D6F4FB,0x4369E96A,0x346ED9FC,0xAD678846,0xDA60B8D0,0x44042D73,0x33031DE5,0xAA0A4C5F,0xDD0D7CC9,
0x5005713C,0x270241AA,0xBE0B1010,0xC90C2086,0x5768B525,0x206F85B3,0xB966D409,0xCE61E49F,0x5EDEF90E,0x29D9C998,0xB0D09822,0xC7D7A8B4,0x59B33D17,0x2EB40D81,0xB7BD5C3B,0xC0BA6CAD,
0xEDB88320,0x9ABFB3B6,0x3B6E20C,0x74B1D29A,0xEAD54739,0x9DD277AF,0x4DB2615,0x73DC1683,0xE3630B12,0x94643B84,0xD6D6A3E,0x7A6A5AA8,0xE40ECF0B,0x9309FF9D,0xA00AE27,0x7D079EB1,
0xF00F9344,0x8708A3D2,0x1E01F268,0x6906C2FE,0xF762575D,0x806567CB,0x196C3671,0x6E6B06E7,0xFED41B76,0x89D32BE0,0x10DA7A5A,0x67DD4ACC,0xF9B9DF6F,0x8EBEEFF9,0x17B7BE43,0x60B08ED5,
0xD6D6A3E8,0xA1D1937E,0x38D8C2C4,0x4FDFF252,0xD1BB67F1,0xA6BC5767,0x3FB506DD,0x48B2364B,0xD80D2BDA,0xAF0A1B4C,0x36034AF6,0x41047A60,0xDF60EFC3,0xA867DF55,0x316E8EEF,0x4669BE79,
0xCB61B38C,0xBC66831A,0x256FD2A0,0x5268E236,0xCC0C7795,0xBB0B4703,0x220216B9,0x5505262F,0xC5BA3BBE,0xB2BD0B28,0x2BB45A92,0x5CB36A04,0xC2D7FFA7,0xB5D0CF31,0x2CD99E8B,0x5BDEAE1D,
0x9B64C2B0,0xEC63F226,0x756AA39C,0x26D930A,0x9C0906A9,0xEB0E363F,0x72076785,0x5005713,0x95BF4A82,0xE2B87A14,0x7BB12BAE,0xCB61B38,0x92D28E9B,0xE5D5BE0D,0x7CDCEFB7,0xBDBDF21,
0x86D3D2D4,0xF1D4E242,0x68DDB3F8,0x1FDA836E,0x81BE16CD,0xF6B9265B,0x6FB077E1,0x18B74777,0x88085AE6,0xFF0F6A70,0x66063BCA,0x11010B5C,0x8F659EFF,0xF862AE69,0x616BFFD3,0x166CCF45,
0xA00AE278,0xD70DD2EE,0x4E048354,0x3903B3C2,0xA7672661,0xD06016F7,0x4969474D,0x3E6E77DB,0xAED16A4A,0xD9D65ADC,0x40DF0B66,0x37D83BF0,0xA9BCAE53,0xDEBB9EC5,0x47B2CF7F,0x30B5FFE9,
0xBDBDF21C,0xCABAC28A,0x53B39330,0x24B4A3A6,0xBAD03605,0xCDD70693,0x54DE5729,0x23D967BF,0xB3667A2E,0xC4614AB8,0x5D681B02,0x2A6F2B94,0xB40BBE37,0xC30C8EA1,0x5A05DF1B,0x2D02EF8D,
};
CRC32("HelloWorld!") = 0xb7c54147
=======================================================
CRC32_MPEG_2 Table{
0x00,0x4C11DB7,0x9823B6E,0xD4326D9,0x130476DC,0x17C56B6B,0x1A864DB2,0x1E475005,0x2608EDB8,0x22C9F00F,0x2F8AD6D6,0x2B4BCB61,0x350C9B64,0x31CD86D3,0x3C8EA00A,0x384FBDBD,
0x4C11DB70,0x48D0C6C7,0x4593E01E,0x4152FDA9,0x5F15ADAC,0x5BD4B01B,0x569796C2,0x52568B75,0x6A1936C8,0x6ED82B7F,0x639B0DA6,0x675A1011,0x791D4014,0x7DDC5DA3,0x709F7B7A,0x745E66CD,
0x9823B6E0,0x9CE2AB57,0x91A18D8E,0x95609039,0x8B27C03C,0x8FE6DD8B,0x82A5FB52,0x8664E6E5,0xBE2B5B58,0xBAEA46EF,0xB7A96036,0xB3687D81,0xAD2F2D84,0xA9EE3033,0xA4AD16EA,0xA06C0B5D,
0xD4326D90,0xD0F37027,0xDDB056FE,0xD9714B49,0xC7361B4C,0xC3F706FB,0xCEB42022,0xCA753D95,0xF23A8028,0xF6FB9D9F,0xFBB8BB46,0xFF79A6F1,0xE13EF6F4,0xE5FFEB43,0xE8BCCD9A,0xEC7DD02D,
0x34867077,0x30476DC0,0x3D044B19,0x39C556AE,0x278206AB,0x23431B1C,0x2E003DC5,0x2AC12072,0x128E9DCF,0x164F8078,0x1B0CA6A1,0x1FCDBB16,0x18AEB13,0x54BF6A4,0x808D07D,0xCC9CDCA,
0x7897AB07,0x7C56B6B0,0x71159069,0x75D48DDE,0x6B93DDDB,0x6F52C06C,0x6211E6B5,0x66D0FB02,0x5E9F46BF,0x5A5E5B08,0x571D7DD1,0x53DC6066,0x4D9B3063,0x495A2DD4,0x44190B0D,0x40D816BA,
0xACA5C697,0xA864DB20,0xA527FDF9,0xA1E6E04E,0xBFA1B04B,0xBB60ADFC,0xB6238B25,0xB2E29692,0x8AAD2B2F,0x8E6C3698,0x832F1041,0x87EE0DF6,0x99A95DF3,0x9D684044,0x902B669D,0x94EA7B2A,
0xE0B41DE7,0xE4750050,0xE9362689,0xEDF73B3E,0xF3B06B3B,0xF771768C,0xFA325055,0xFEF34DE2,0xC6BCF05F,0xC27DEDE8,0xCF3ECB31,0xCBFFD686,0xD5B88683,0xD1799B34,0xDC3ABDED,0xD8FBA05A,
0x690CE0EE,0x6DCDFD59,0x608EDB80,0x644FC637,0x7A089632,0x7EC98B85,0x738AAD5C,0x774BB0EB,0x4F040D56,0x4BC510E1,0x46863638,0x42472B8F,0x5C007B8A,0x58C1663D,0x558240E4,0x51435D53,
0x251D3B9E,0x21DC2629,0x2C9F00F0,0x285E1D47,0x36194D42,0x32D850F5,0x3F9B762C,0x3B5A6B9B,0x315D626,0x7D4CB91,0xA97ED48,0xE56F0FF,0x1011A0FA,0x14D0BD4D,0x19939B94,0x1D528623,
0xF12F560E,0xF5EE4BB9,0xF8AD6D60,0xFC6C70D7,0xE22B20D2,0xE6EA3D65,0xEBA91BBC,0xEF68060B,0xD727BBB6,0xD3E6A601,0xDEA580D8,0xDA649D6F,0xC423CD6A,0xC0E2D0DD,0xCDA1F604,0xC960EBB3,
0xBD3E8D7E,0xB9FF90C9,0xB4BCB610,0xB07DABA7,0xAE3AFBA2,0xAAFBE615,0xA7B8C0CC,0xA379DD7B,0x9B3660C6,0x9FF77D71,0x92B45BA8,0x9675461F,0x8832161A,0x8CF30BAD,0x81B02D74,0x857130C3,
0x5D8A9099,0x594B8D2E,0x5408ABF7,0x50C9B640,0x4E8EE645,0x4A4FFBF2,0x470CDD2B,0x43CDC09C,0x7B827D21,0x7F436096,0x7200464F,0x76C15BF8,0x68860BFD,0x6C47164A,0x61043093,0x65C52D24,
0x119B4BE9,0x155A565E,0x18197087,0x1CD86D30,0x29F3D35,0x65E2082,0xB1D065B,0xFDC1BEC,0x3793A651,0x3352BBE6,0x3E119D3F,0x3AD08088,0x2497D08D,0x2056CD3A,0x2D15EBE3,0x29D4F654,
0xC5A92679,0xC1683BCE,0xCC2B1D17,0xC8EA00A0,0xD6AD50A5,0xD26C4D12,0xDF2F6BCB,0xDBEE767C,0xE3A1CBC1,0xE760D676,0xEA23F0AF,0xEEE2ED18,0xF0A5BD1D,0xF464A0AA,0xF9278673,0xFDE69BC4,
0x89B8FD09,0x8D79E0BE,0x803AC667,0x84FBDBD0,0x9ABC8BD5,0x9E7D9662,0x933EB0BB,0x97FFAD0C,0xAFB010B1,0xAB710D06,0xA6322BDF,0xA2F33668,0xBCB4666D,0xB8757BDA,0xB5365D03,0xB1F740B4,
};
CRC32_MPEG_2("HelloWorld!") = 0x675270bb
=======================================================
CRC_12_TRUE Table{
0x00,0x100,0x200,0x300,0x400,0x500,0x600,0x700,0x800,0x900,0xA00,0xB00,0xC00,0xD00,0xE00,0xF00,
0x111,0x11,0x311,0x211,0x511,0x411,0x711,0x611,0x911,0x811,0xB11,0xA11,0xD11,0xC11,0xF11,0xE11,
0x222,0x322,0x22,0x122,0x622,0x722,0x422,0x522,0xA22,0xB22,0x822,0x922,0xE22,0xF22,0xC22,0xD22,
0x333,0x233,0x133,0x33,0x733,0x633,0x533,0x433,0xB33,0xA33,0x933,0x833,0xF33,0xE33,0xD33,0xC33,
0x444,0x544,0x644,0x744,0x44,0x144,0x244,0x344,0xC44,0xD44,0xE44,0xF44,0x844,0x944,0xA44,0xB44,
0x555,0x455,0x755,0x655,0x155,0x55,0x355,0x255,0xD55,0xC55,0xF55,0xE55,0x955,0x855,0xB55,0xA55,
0x666,0x766,0x466,0x566,0x266,0x366,0x66,0x166,0xE66,0xF66,0xC66,0xD66,0xA66,0xB66,0x866,0x966,
0x777,0x677,0x577,0x477,0x377,0x277,0x177,0x77,0xF77,0xE77,0xD77,0xC77,0xB77,0xA77,0x977,0x877,
0x888,0x988,0xA88,0xB88,0xC88,0xD88,0xE88,0xF88,0x88,0x188,0x288,0x388,0x488,0x588,0x688,0x788,
0x999,0x899,0xB99,0xA99,0xD99,0xC99,0xF99,0xE99,0x199,0x99,0x399,0x299,0x599,0x499,0x799,0x699,
0xAAA,0xBAA,0x8AA,0x9AA,0xEAA,0xFAA,0xCAA,0xDAA,0x2AA,0x3AA,0xAA,0x1AA,0x6AA,0x7AA,0x4AA,0x5AA,
0xBBB,0xABB,0x9BB,0x8BB,0xFBB,0xEBB,0xDBB,0xCBB,0x3BB,0x2BB,0x1BB,0xBB,0x7BB,0x6BB,0x5BB,0x4BB,
0xCCC,0xDCC,0xECC,0xFCC,0x8CC,0x9CC,0xACC,0xBCC,0x4CC,0x5CC,0x6CC,0x7CC,0xCC,0x1CC,0x2CC,0x3CC,
0xDDD,0xCDD,0xFDD,0xEDD,0x9DD,0x8DD,0xBDD,0xADD,0x5DD,0x4DD,0x7DD,0x6DD,0x1DD,0xDD,0x3DD,0x2DD,
0xEEE,0xFEE,0xCEE,0xDEE,0xAEE,0xBEE,0x8EE,0x9EE,0x6EE,0x7EE,0x4EE,0x5EE,0x2EE,0x3EE,0xEE,0x1EE,
0xFFF,0xEFF,0xDFF,0xCFF,0xBFF,0xAFF,0x9FF,0x8FF,0x7FF,0x6FF,0x5FF,0x4FF,0x3FF,0x2FF,0x1FF,0xFF,
};
CRC_12_TRUE("HelloWorld!") = 0x7b0
=======================================================
CRC_12_FALSE Table{
0x00,0x111,0x222,0x333,0x444,0x555,0x666,0x777,0x888,0x999,0xAAA,0xBBB,0xCCC,0xDDD,0xEEE,0xFFF,
0x01,0x110,0x223,0x332,0x445,0x554,0x667,0x776,0x889,0x998,0xAAB,0xBBA,0xCCD,0xDDC,0xEEF,0xFFE,
0x02,0x113,0x220,0x331,0x446,0x557,0x664,0x775,0x88A,0x99B,0xAA8,0xBB9,0xCCE,0xDDF,0xEEC,0xFFD,
0x03,0x112,0x221,0x330,0x447,0x556,0x665,0x774,0x88B,0x99A,0xAA9,0xBB8,0xCCF,0xDDE,0xEED,0xFFC,
0x04,0x115,0x226,0x337,0x440,0x551,0x662,0x773,0x88C,0x99D,0xAAE,0xBBF,0xCC8,0xDD9,0xEEA,0xFFB,
0x05,0x114,0x227,0x336,0x441,0x550,0x663,0x772,0x88D,0x99C,0xAAF,0xBBE,0xCC9,0xDD8,0xEEB,0xFFA,
0x06,0x117,0x224,0x335,0x442,0x553,0x660,0x771,0x88E,0x99F,0xAAC,0xBBD,0xCCA,0xDDB,0xEE8,0xFF9,
0x07,0x116,0x225,0x334,0x443,0x552,0x661,0x770,0x88F,0x99E,0xAAD,0xBBC,0xCCB,0xDDA,0xEE9,0xFF8,
0x08,0x119,0x22A,0x33B,0x44C,0x55D,0x66E,0x77F,0x880,0x991,0xAA2,0xBB3,0xCC4,0xDD5,0xEE6,0xFF7,
0x09,0x118,0x22B,0x33A,0x44D,0x55C,0x66F,0x77E,0x881,0x990,0xAA3,0xBB2,0xCC5,0xDD4,0xEE7,0xFF6,
0x0A,0x11B,0x228,0x339,0x44E,0x55F,0x66C,0x77D,0x882,0x993,0xAA0,0xBB1,0xCC6,0xDD7,0xEE4,0xFF5,
0x0B,0x11A,0x229,0x338,0x44F,0x55E,0x66D,0x77C,0x883,0x992,0xAA1,0xBB0,0xCC7,0xDD6,0xEE5,0xFF4,
0x0C,0x11D,0x22E,0x33F,0x448,0x559,0x66A,0x77B,0x884,0x995,0xAA6,0xBB7,0xCC0,0xDD1,0xEE2,0xFF3,
0x0D,0x11C,0x22F,0x33E,0x449,0x558,0x66B,0x77A,0x885,0x994,0xAA7,0xBB6,0xCC1,0xDD0,0xEE3,0xFF2,
0x0E,0x11F,0x22C,0x33D,0x44A,0x55B,0x668,0x779,0x886,0x997,0xAA4,0xBB5,0xCC2,0xDD3,0xEE0,0xFF1,
0x0F,0x11E,0x22D,0x33C,0x44B,0x55A,0x669,0x778,0x887,0x996,0xAA5,0xBB4,0xCC3,0xDD2,0xEE1,0xFF0,
};
CRC_12_FALSE("HelloWorld!") = 0xe1c
=======================================================