crcの計算

c++CRCを計算するコード.boost の crc.hpp を使います

#include <iostream>
#include <cassert>
#include <boost/crc.hpp>
using namespace std;

int main()
{
     const char *data = "hello boost/crc.hpp";
     const size_t len = sizeof(data);

     // CRC-CCITT
     boost::crc_basic<16> crc1( 0x1021, 0xFFFF, 0, false, false );
     crc1.process_bytes( data, len );

     cout << hex << crc1.checksum() << dec << endl;

     assert( crc1.checksum() == 0x5516 );

     return 0;
}