private ushort ComputeCRC(char[] Message)
{
ushort temp, crc, quick;
crc = 0xffff;
for (int i = 0; i < Message.Length ; ++i)
{
temp = (ushort)((crc >> 8) ^ Message[i]);
crc <<= 8;
quick = (ushort)(temp ^ (temp >> 4));
crc ^= quick;
quick <<= 5;
crc ^= quick;
quick <<= 7;
crc ^= quick;
}
return crc;
}
---------------------------------------------------------
การใช้งานนั้นทำได้ดังนี้
ushort Crc; // ประกาศตัวแปร Crc ชนิดข้อมูล ushort
char[] arr = {'A','B','C','D'}; // ค่าที่ต้องการแปลง
Crc = ComputeCRC(arr); // ใช้ฟังก์ชันที่เขียนไว้
dec2Hex(Crc) // คำออกไปแสดงผลโดยการแปลงเป็น
// เลขฐาน 16
ushort Crc; // ประกาศตัวแปร Crc ชนิดข้อมูล ushort
char[] arr = {'A','B','C','D'}; // ค่าที่ต้องการแปลง
Crc = ComputeCRC(arr); // ใช้ฟังก์ชันที่เขียนไว้
dec2Hex(Crc) // คำออกไปแสดงผลโดยการแปลงเป็น
// เลขฐาน 16


