crc16.pas
来自「This source code. simple tools for huaw」· PAS 代码 · 共 38 行
PAS
38 行
unit Crc16;
interface
uses Windows,SysUtils;
//function UpdateCRC16(ch : BYTE; crc : WORD ) : WORD;
function CalcBlkCRC16(buf:pointer ; size: integer ) : WORD;
implementation
{
function UpdateCRC16(ch : BYTE; crc : WORD ) : WORD;
begin
crc := crc xor ch;
crc := Swap(crc);
crc := crc xor ((crc and $ff00) shl 4);
crc := crc xor (crc shr 12);
crc := crc xor ((crc and $ff00) shr 5);
result:=crc;
end;
}
function CalcBlkCRC16( buf: pointer ; size: integer ) : WORD;
begin
result:=$FFFF;
while size > 0 do begin
result := result xor BYTE(buf^);
result := Swap(result);
result := result xor ((result and $ff00) shl 4);
result := result xor (result shr 12);
result := result xor ((result and $ff00) shr 5);
Dec(size);
Inc(DWORD(buf));
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?