为什么十六进制的数不能相加呢?(0分)

  • 主题发起人 主题发起人 阿虫
  • 开始时间 开始时间

阿虫

Unregistered / Unconfirmed
GUEST, unregistred user!
各位前辈,为什么这一小段程序不能执行呢。可我看不出那有问题呀!
var
i,k:integer;
s:string;
begin
for i:=1 to length(edit1.text) div 2do
s:=s+inttohex(strtoint64(inttostr(strtoint(copy(edit1.text,length(edit1.text)-2*i+1,2))+51)),0);
for i:=1 to length(s) div 2do
k:=k+strtoint(copy(s,2*i-1,2));
edit2.text:=inttostr(k);
end;
上面程序中,S是一串十六进制的数,我将每取出两位相加,可总无法执行,为什么呢。
 
改一下:
k:=k+strtoint('$'+copy(s,2*i-1,2));
別忘記加上那個'$'.
 
请结束或提前您的帖子,谢谢合作!
 
接受答案了.
 
后退
顶部