⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crc.txt

📁 c语言和delphi的crc16的求解代码
💻 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 + -