function getcheckstr(astr: string; aindex: integer): string;
varnewstr1,he,oldstr:string;
tj:boolean;
i:integer;
begin
i:=1;
he:='';
tj:=true;
oldstr:=copy(astr,aindex,length(astr)-aindex+1);
while tj=true do
begin
newstr1:=copy(oldstr,i,2);
oldstr:=copy(oldstr,i+2,length(oldstr)-2);
//開始計算校驗和並給he變數
if he='' then
begin
he:=inttohex(strtointdef('$'+newstr1,16)+ strtointdef('$'+'00',16),2);
he:=rightstr(he,2);
endelse
begin
he:=inttohex(strtointdef('$'+newstr1,16)+ strtointdef('$'+he,16),2);
he:=rightstr(he,2);
end;
if length(oldstr) =0 then tj:=false;
end;
result:= astr+he;
end;
十六進製制計算問題
system.out.println long.tohexstring 0x100000000l 0xcafebabe 先看看以上 感覺答案應該是 1cafebabe。但是答案卻是 cafebabe。為什麼呢,怎麼感覺像是int型變數的相加,第32位的1被捨棄了。看看以下 就明白了 int hex ...
iOS 十六進製制的相加取反
ios中將nsstring字串轉換成char型別 nsstring string nsstring stringwithformat 5d const char result string utf8string char字元轉成nsstring char a 10 3er4 nsstring str...
oracle產生十六進製制數
1 建立seq,產生十進位制的序列號 sql code?1 2 3 4 5 6 7 8 createsequenceseq hex minvalue 0 maxvalue 10000000 startwith0 incrementby1 cache 20 cycle order 2 寫乙個函式,返回...