我不是很明白他的算法.
HELP?

解决方案 »

  1.   

    google ,搜搜 :) 你想做什么 ?不要骂我呀 ... 我怕怕 :)
      

  2.   

    wjlsmail(计算机质子) 
    帮忙啦!!
    你是研究生吧.
    怕~
      

  3.   

    不是不是:), 不过挺想考的谁帮我 ?---------------------------------------
    别人的代码 :-------------------
    type
      iArray = Record
        aArray :array[1..1024] of Byte;
        aLen   :Integer;
      end;function GenerateCRC(var aPackage:iArray):Word;
    var
      crc:Word;
      ia,ib,ie,I,iCount:Integer;
      caTemp:iArray;
    begin
      crc:=0;
      ia:=0;
      ib:=0;
      for I:=1 to aPackage.aLen do
        caTemp.aArray[I]:=aPackage.aArray[I];
      ie:=caTemp.aArray[1];
      crc:=crc xor (ie shl 8);
      crc:=crc xor caTemp.aArray[2];
      iCount:=aPackage.aLen;
      for I:=1 to (aPackage.aLen-2)*8 do
      begin
        while iCount>2 do
        begin
          if (caTemp.aArray[iCount] and 128)<>0 then
            ia:=1
          else
            ia:=0;
          caTemp.aArray[iCount]:=caTemp.aArray[iCount] shl 1;
          if ib=1 then
            caTemp.aArray[iCount]:=caTemp.aArray[iCount]+1;
          ib:=ia;
          iCount:=iCount-1;
        end;
        if (crc and 32768)<>0 then
        begin
          crc:=crc shl 1;
          if ia=1 then
          crc:=crc+1;
          crc:=crc xor 4129;
        end
        else begin
          crc:=crc shl 1;
          if ia=1 then
            crc:=crc+1;
        end;
        iCount:=aPackage.aLen;
      end;
      Result:=crc;
    end;