📄 crc.txt
字号:
int calcrc(char *ptr, unsigned char count) //计算CRC
{
int crc = 0;
char i,j;
for(j=0;j<count;j++)
{
crc = crc ^ (int) *ptr++ << 8;
i = 8;
do
{
if (crc & 0x8000)crc = crc << 1 ^ 0x1021;
else
crc = crc << 1;
} while(--i);
}
return (crc);
}
转换后的
function calcrc(checkstring:string):string;
var
i,j:integer;
s:string;
crc:word;
begin
{$R-}
crc:=0;
s:= checkstring;
for i:=1 to length(s) do
begin
crc:=crc xor ord(s[i]) shl 8;
for j:=7 downto 0 do
begin
if (crc and $8000)<>0 then
begin
crc:=crc shl 1 xor $1021;
end
else
crc:=crc shl 1;
end;
end;
result :=format('%0.4X',[crc]);
end;
function TFORM1.calcrc(checkstring:string):string;
var
i,j:integer;
s:string;
crc:word;
begin
crc:=0;
s:= checkstring;
while t<=Length(S) do
begin
crc:=crc xor strtoint('$'+s[i]+S[i+1]) shl 8;
for j:=0 to 7 do
begin
if (crc and $8000)<>0 then
begin
crc:=crc shl 1 xor $1021;
end
else
crc:=crc shl 1;
end;
inc(t,2);
end;
result :=format('%0.4X',[crc]);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -