ГОСТ Р МЭК 61784-3-1—2016
0x4db26158.0x3ab551ce. ОхаЗЬс0О74. 0xd4bb30e2.
0x4adfa541. 0x3dd895d7. 0xa4d1c46d. 0xd3d6f4fb.
0x4369e96a. 0x346ed9fc. 0xad678846. 0xda60b8d0.
0x44042d73. 0x33031de5. 0xaa0a4c5f. 0xdd0d7cc9.
0x5005713c, 0x270241aa. ОхЬвОЫОЮ, 0xc90c2086.
0x5768b525. 0x206f85b3. 0xb966d409, 0xce61e49f,
0x5edef90e. 0x29d9c998, 0xb0d09822. 0xc7d7a8b4.
0x59b33d17. 0x2eb40d81,0xb7bd5c3b. 0xc0ba6cad.
0xedb88320. 0x9abfb3b6. 0x03b6e20c. 0x74b1d29a,
Oxead54739. 0x9dd277af. 0x04db2615, Ox73dc1683.
Охв3630Ы 2. 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8.
0хв40есЮЬ. 0x9309ff9d, OxOaOOae27. 0x7d079eb1,
OxfOOf9344, 0x8708a3d2. 0x1e01f268. 0x6906c2fe.
0xf762575d, 0x806567cb. 0x196c3671. 0x6e6b06e7.
0xfed41b76.0x89d32be0. 0x10da7a5a. 0x67dd4acc.
0xf9b9df6f, 0x8ebeeff9. 0x17b7be43. 0x60b08ed5.
0xd6d6a3e8. 0xa1d1937e, 0x38d8c2c4. 0x4fdff252.
0xd1bb67f1. 0xa6bc5767. 0x3fb506dd. 0x48b2364b,
0xd80d2bda. 0хаЮа1Ь4с. 0x36034af6. 0x41047a60.
0xdf60efc3. 0xa867df55. 0x316e8eef, 0x4669be79.
0xcb61b38c, 0xbc66831a. 0x256fd2a0. 0x5268e236.
0xcc0c7795, 0xbb0b4703. 0x220216b9. 0x55052621.
0xc5ba3bbe, 0xb2bd0b28. 0x2bb45a92. 0x5cb36a04.
0xc2d7ffa7. 0xb5d0cf31. 0x2cd99e8b. 0x5bdeae1d,
0x9b64c2b0. 0xec63f226. 0x756aa39c, 0x026d930a.
0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
0x95b(4a82. 0xe2b87a14. 0x7bM2bae. 0x0cb61b38,
0x92d28e9b. Oxe5d5beOd, 0x7cdce(b7, 0x0bdbdf21.
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
}:
// GetCRC32Ether() вычисляет CRC для блоха данных, расположенного по адресу
И [pStart] размером в Цел] октет. GetCRC32Ether() работает с приращением, где //
результат последней части выполняет роль [предварительно установленного] И
значения для последующей части. Для первой части должно использоваться
// предварительно установленное значение, равное Oxffffffff (=CRC32ETHER_PRESET).
II GetCRC32Ether() реализует высокоэффективный табличный метод для вычисления
И CRC.
enum {CRC32ETHER_PRESET= Oxffffffff};
unsigned long GetCRC32Ether(const void’ pStart,
size_t len.
unsigned long preset) {
size_t bytecount:
unsigned char * buf= (unsigned char *) pStart;
unsigned long crcword= preset;
for (bytecount= len; (bytecount > 0); bytecount-. buf++) {
- 6 2 — 61784-3-1 *IEC:2010(E)
crcword* maCRC32Ether[(crcword Л *buf) & OxOff]A( crcword » 8 L );
}
return crcword;
}:
45