大家帮我看看网络校验函数是否正确吧?(50分)

  • 主题发起人 主题发起人 baiduan
  • 开始时间 开始时间
B

baiduan

Unregistered / Unconfirmed
GUEST, unregistred user!
function cksum(addr: PWord; len: integer): Cardinal;
var
nleft: integer;
w: PWord;
answer: cardinal;
sum: integer;
begin
nleft := len;
w := addr;
sum := 0;
while (nleft > 1) do
begin
sum := sum +word(w^);
inc(w);
nleft := nleft - 2;
end;
sum := sum shr 16 + sum and $FFFF;
sum := sum + sum shr 16;
answer := not sum;
result := answer;
end;
 
验证通过,没有问题。来个人,揭帖
 
接受答案了.
 
后退
顶部