阅读( 218 ) 我要纠错

13.4、C++语言


#include<iostream.h> 

class CRC16

public : int crc16(unsigned char * data,int size)

unsigned char data_t

int crc,i,j

crc = i = j = 0

if(data == NULL) { return 0

}

for(j=0;j<size;j++)

data_t = data[j]; 

crc = (data_t ^ crc); 

for(i=0;i<8;i++)

if((crc&0x1)==1) { crc = (crc >> 1) ^ 0xA001; }

else { crc >>= 1

}

}

return crc

}; 

int main()

unsigned char array[] = {0x88,0x77,0xFF,0x9A}; 

int checkValue

CRC16 test

checkValue = test.crc16(array,sizeof(array)); 

cout<<"CRC16 :"<<hex<<((checkValue >> 8) & 0xff); 

cout<<" "<<hex<<(checkValue & 0xff)<<endl<<endl

return 0

}


CRC16查表-C加加.png

×