IntToHex(10-16进制的转换)

王朝delphi·作者佚名  2006-01-09
宽屏版  字体: |||超大  

对那个10-2进制转换的程序,我很高兴很多朋友都提供了比我要简洁的好方法,这是看到一位朋友的BLOG后,写的10-16的转换,一开始我还写错了,呵呵,现在将正确的留在网志,他要求是自己写转换而不是利用类似

Format('Integer %0:d in Hex is %0:.8x', [Value]);

当然,有简单方法我们要用简单方法哦

接着介绍自己的方法

var HexArr: array[1..15]of string= ('1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

function Int2Hex(Value: Integer): string;

var

iTemp: Integer;

i: Integer;

begin

Result := '';

i := 0;

while i<4 do

begin

case i of

0: iTemp := Value shr 24 and $FF;

1: iTemp := Value shr 16 and $FF;

2: iTemp := Value shr 8 and $FF;

3: iTemp := Value and $FF;

end;

if not Boolean(iTemp) then Result := Result + '00'

else begin

Result := Result + HexArr[iTemp div 16];

Result := Result + HexArr[iTemp mod 16];

end;

Inc(i);

end;

end;

测试:ShowMessage(Int2Hex(-1)); //显示FFFFFFFF

ShowMessage(Int2Hex(MAXINT)); //显示7FFFFFFF

希望大家多提意见,个人觉得挺简洁明了了,呵呵,很明显每步在做什么

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有