求 IntToHex的反函数(200)

  • 主题发起人 主题发起人 lunyx
  • 开始时间 开始时间
L

lunyx

Unregistered / Unconfirmed
GUEST, unregistred user!
函数 IntToHex,是把一个10进制整数转化为 他的16进制格式的字符串吧。。比如c:word;s:string;c:=4096;s:= IntToHex(c,4);showmessage(s); //s== '1000' //十六进制1000的十进制值为 4096;那么。。我现在求 IntToHex的反函数。使得 入参为 '1000',,出参为 4096.。有现成的函数吗??
 
strtoint('$'+s);
 
Function TFun.HexToInt(sHex:string):integer; var i:integer; dwRes:word; bInt:byte; begin SHex:=StringOfchar('0',4-length(sHex))+sHex;(*不足4位十六进制,高位补零*) dwRes:=0; for i:=1 to 4 do begin case AnsiIndexStr(LowerCase(sHex),['a','b','c','d','e','f']) of 0:bInt:=10; 1:bInt:=11; 2:bInt:=12; 3:bInt:=13; 4:bInt:=14; 5:bInt:=15; else bInt:=strToint(sHex) end;//end case asm xor ax,ax mov al,byte ptr[bInt] SHL word ptr[dwRes],4 OR word ptr[dwRes],ax end end;//end for result:=dwRes end;
 
41426277是对的
 
后退
顶部