C# CRC16校验函数
时间: 2023-07-17 20:59:36 浏览: 110
C#CRC16校验
5星 · 资源好评率100%
当然,我可以为您提供一个简单的C# CRC16校验函数示例代码。以下是一个使用C#编写的CRC16校验函数:
```csharp
public static ushort CalculateCRC16(byte[] data)
{
ushort crc = 0xFFFF;
foreach (byte b in data)
{
crc ^= (ushort)(b << 8);
for (int i = 0; i < 8; i++)
{
if ((crc & 0x8000) != 0)
{
crc = (ushort)((crc << 1) ^ 0x1021);
}
else
{
crc <<= 1;
}
}
}
return crc;
}
```
使用示例:
```csharp
byte[] data = { 0x01, 0x02, 0x03, 0x04, 0x05 };
ushort crc = CalculateCRC16(data);
Console.WriteLine("CRC16: 0x" + crc.ToString("X4"));
```
这个函数接受一个字节数组作为输入,并返回一个ushort类型的CRC16校验值。您可以根据需要将要校验的数据转换为字节数组,然后调用该函数。在示例中,我们使用了一个简单的字节数组来计算CRC16校验值,并将结果打印输出。
请注意,该函数实现了基本的CRC16校验算法,但具体的CRC多项式可能因应用而异。您可以根据需要调整多项式值,以匹配您所需的CRC算法。
阅读全文