请教一个问题,关于CRC较检的,我的代码有问题吗?(10分)

  • 主题发起人 only you
  • 开始时间
O

only you

Unregistered / Unconfirmed
GUEST, unregistred user!
function CRCString(S:String):WORD;
var
; a:WORD;
; c:Integer;
; i:WORD;
; j:Integer;
; k:word;
begin
; k:=0;
; for j:=0 to length(S)-1 do
; ; ; begin
; ; ; c:=byte(s);
; ; ; a:=a xor (c shl 8);
; ; ; for i:=0 to 8 do
; ; ; ; ; begin
;if (a and $8000)<>0 then
; ; ; ; ; ; ;a:= (a shl 1) xor $1021
; ; ; ; ; else
; ; ; ; ; ; ;a := a shl 1;
; ; ; ; ; end;
; ; ; end;

; ; ; asm
; ; ; mov ;ax,a
; ; ; xchg ah,al
; ; ; ; mov k,ax
; ; ; end;
; ; ; Result:=k;
end;

function CRCFile(FileName:String):WORD;
var
; a:WORD;
; c:Integer;
; i:WORD;
; j:Integer;
; k:word;
; TempStream:TMemoryStream;
begin
; k:=0;
; TempStream:=TMemoryStream.Create;
; TempStream.LoadFromFile(FileName);
; for j:=0 to TempStream.Size-1 do
; ; ; begin
; ; ; TempStream.Read(c,1);
; ; ; a:=a xor (c shl 8);
; ; ; for i:=0 to 8 do
; ; ; ; ; begin
;if (a and $8000)<>0 then
; ; ; ; ; ; ;a:= (a shl 1) xor $1021
; ; ; ; ; else
; ; ; ; ; ; ;a := a shl 1;
; ; ; ; ; end;
; ; ; end;

; ; ; asm
; ; ; mov ;ax,a
; ; ; xchg ah,al
; ; ; ; mov k,ax
; ; ; end;
; FreeAndNil(TempStream);
; Result:=k;
end;
 
Are there any error code?
if no then end question!
 
my code's result is different from a c++ ;code's result,and it have been compiled successfully,
so I think there is an error somewhere in my code.but i can't find it,can you help me!
thank you!
 
;c:Integer; -> 改为 c:word 看看
 
是这样的,因为这段代码我是参照一段c++代码来的,因为我得出的结果与C++代码得出的结果
不同,所以我认为一定是我的代码有点问题,如果你知道CRC较检的算法的话请指出我的代码有
有何错误,我的意思是并不是我的代码不能执行,而是使用错误的逻辑导致结果不对,不知道谁
能给我指点迷津!
 
〉tseug,
; 不对,C语言中定义的变量是int,对应的Delphi变量应该也是Integer.
 
你把c++和delphi代码发到我邮箱,我看看。如果你需要crc32的delphi代码,
我也可以发给你。

tseug@263.net
 
接受答案了.
 
顶部