Delphi中,inttohex能够实现二进制到十六进制的转换吗?
2个回答
展开全部
不能,可以将十进制整数转为十六进制字符串。
function IntToHex(Value: Integer; Digits: Integer): string; overload;
function IntToHex(Value: Int64; Digits: Integer): string; overload;
第一个参数为整数值,第二个参数为转换后十六进制字符串长度,转换后字符串长度小于第二个参数,前面补'0',转换后字符串长度大于第二个参数,返回实际十六进制字符串。
把二进制换为十六进制可以自己做一个函数
function BitoHex(BiStr:string):string;//函数,2进制串化成16进制串
var i,Detmp:integer;
s:real;
begin
s:=0;
for i:=1 to length(BiStr) do
if BiStr[i]='1' then
s:=s+Intpower(2,length(BiStr)-i);
Detmp:=trunc(s);
Bitohex:=IntToHex(Detmp,2);//2个长度,根据自己二进制长度需求调整。
end;
function IntToHex(Value: Integer; Digits: Integer): string; overload;
function IntToHex(Value: Int64; Digits: Integer): string; overload;
第一个参数为整数值,第二个参数为转换后十六进制字符串长度,转换后字符串长度小于第二个参数,前面补'0',转换后字符串长度大于第二个参数,返回实际十六进制字符串。
把二进制换为十六进制可以自己做一个函数
function BitoHex(BiStr:string):string;//函数,2进制串化成16进制串
var i,Detmp:integer;
s:real;
begin
s:=0;
for i:=1 to length(BiStr) do
if BiStr[i]='1' then
s:=s+Intpower(2,length(BiStr)-i);
Detmp:=trunc(s);
Bitohex:=IntToHex(Detmp,2);//2个长度,根据自己二进制长度需求调整。
end;
展开全部
不能,但二进制到二的方幂进制的转换是非常容易的,随手写来应该是基本功。
只是,你的需求描述不够清楚,所谓“二进制”和“十六进制”是字符串之间的转换呢?还是字符串与数值的转换?
如果按照inttohex的函数原型来理解,则“二进制”一说没有意义,它表示的是一个整数,在计算机存储和处理的最底层,当然是以二进制形式了,也就是说这里的“二进制”一词毫无必要,既然你强调它了,那准确的需求是什么?
只是,你的需求描述不够清楚,所谓“二进制”和“十六进制”是字符串之间的转换呢?还是字符串与数值的转换?
如果按照inttohex的函数原型来理解,则“二进制”一说没有意义,它表示的是一个整数,在计算机存储和处理的最底层,当然是以二进制形式了,也就是说这里的“二进制”一词毫无必要,既然你强调它了,那准确的需求是什么?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询