十六进制数换成十进制数?(100分)

  • 主题发起人 主题发起人 yijin
  • 开始时间 开始时间
Y

yijin

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何将
十六进制数16变成十进制数16,
十六进制数07变成十进制数7?
BCB6
 
拜托,那值都不相等,十六进制的16是十进制的22.。。。你为什么要转成16
 
先使用Delphi自身带的函数转换成二进制数:
function HexToBin(Text, Buffer: PChar;
BufSize: Integer): Integer
//0,1子符串转换为十进制,我自己编写的,你也可以位移位的方式来实现
//效率会更高
function BinToInt(vstr:string):integer;
//0,1子符串转换为十进制
var j,m,k:integer;
n:string;
begin
vstr:=trim(vstr);
j:=0;
m:=1;
k:=0;
while truedo
begin
n:=copy(vStr,m,m);
if n='0' then
K:=0
else
K:=1;
j:=j*2+k;
m:=m+1;
if m=length(vstr)+1 then
break;
end;
result:=j;
end;
 
long aa = 0x16;
AnsiString bb;
long cc;
bb.sprintf("%x",aa);
cc = StrToInt(bb);
//now cc = 16
 
多人接受答案了。
 
后退
顶部