16与10进制转换问题=====急!!!

foxe 2004-11-18 02:32:46
现在需要处理12位的16进制数,要求是:
输入起始数和结尾数,生成从起始到结尾的所有数显示在LISTBOX中
最大值为FFFFFFFFFFFF(16进制)转成10进制为281474976710655
Int已无法处理,因为本想用IntToHex()来做转换,因为可以直接得到String型的10进制数用LISTBOX直接显示
其它可否有什么方法可以完成上述要求!
谢谢!
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
foxe 2004-11-18
  • 打赏
  • 举报
回复
是的,刚才已看了!呵呵!谢谢楼上各位
tjkjdx 2004-11-18
  • 打赏
  • 举报
回复
mark~~
mastersky 2004-11-18
  • 打赏
  • 举报
回复
Shortint -128..127 signed 8-bit
Smallint -32768..32767 signed 16-bit
Longint -2147483648..2147483647 signed 32-bit
Int64 -2^63..2^63-1 signed 64-bit
Byte 0..255 unsigned 8-bit
Word 0..65535 unsigned 16-bit
Longword 0..4294967295 unsigned 32-bit

最大就是Int64

转换用Int64ToStr和StrToInt64
princesd 2004-11-18
  • 打赏
  • 举报
回复
Function ByteToChar(_B:Byte):String; // 字节
Begin
If (_B<=32) Then
Result:=' ' // 表示显示不出来的ASCII
Else
Result:=Chr(_B);
End;

Function WordToChar(_W:Word):String; // 字
Begin
Result:=ByteToChar(Hi(_W))+ByteToChar(Lo(_W));
End;

Function DWordToChar(_D:DWord):String; // 双字
Var
_Wh ,
_Wl : Word;
Begin
_Wh:=Word(_D Shr 16);
_Wl:=_D And $ffff;
Result:=WordToChar(_Wh)+WordToChar(_Wl);
End;

procedure TForm1.Button1Click(Sender: TObject);//例子
Var
d:dword;
begin
d:=$4142004a; // "AA J" , 小于等于空格的用空格显示
showmessage(DWordToChar(D));
end;
jinjazz 2004-11-18
  • 打赏
  • 举报
回复
9223372036854775807是int64的最大值
jinjazz 2004-11-18
  • 打赏
  • 举报
回复
showmessage(inttostr(strtoint64('$FFFFFFFFFFFF')))

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧