Просто оставлю это здесь
Код:
// Name : CRC-8
// Poly : 0x31 x^8 + x^5 + x^4 + 1
// Init : 0xFF
// Revert: false
// XorOut: 0x00
// Check : 0xF7 ("123456789")
function crc8(Buffer:String):byte;
var
i,j: Integer;
begin
Result:=$FF;
for i:=1 to Length(Buffer) do begin
Result:=Result xor ord(buffer[i]);
for j:=0 to 7 do begin
if (Result and $80)<>0 then Result:=(Result shl 1) xor $31
else Result:=Result shl 1;
end;
end;
end;
__________________
Програмистами не рождаются, ими становятся!
|