Delphi新手请教几个问题:
(1) delphi里面有个函数 IntToHex(d,h),为什么转出来的是十六进制字符串?而不是十六进制的数值呢? 我找了好久,难道十六进制的数只是给人看的? 不必要拿来运算?
(2)十六进制字符串如何转换为十六进制数值? 我为什么要这样子转换呢? 因为我写了一个小程序,里面有这么一句: ReadprocessMemory(Ph,pointer($0454f821),@A,4,Z); 但是,这是"$0454f821"这个十六进制的内存地址偶尔会变化. 每变一次改一次源代码很不方便.于是,我在程序的界面加了一个 edit 组件,让用户可以通过edit组件输入正确的内存地址(十六进制), 于是,遇到问题了..我怎么把edit里面的十六进制字符串转换成十六进制的数值呢? 头疼一晚上了,希望懂的朋友指点一下.谢谢! 我是菜鸟,高手莫笑我.
另外弱弱的问一句, 如果我直接把十六进制的数转成十进制的数放到上面的pointer()里面..是否也行的通?
(1) delphi里面有个函数 IntToHex(d,h),为什么转出来的是十六进制字符串?而不是十六进制的数值呢? 我找了好久,难道十六进制的数只是给人看的? 不必要拿来运算?
(2)十六进制字符串如何转换为十六进制数值? 我为什么要这样子转换呢? 因为我写了一个小程序,里面有这么一句: ReadprocessMemory(Ph,pointer($0454f821),@A,4,Z); 但是,这是"$0454f821"这个十六进制的内存地址偶尔会变化. 每变一次改一次源代码很不方便.于是,我在程序的界面加了一个 edit 组件,让用户可以通过edit组件输入正确的内存地址(十六进制), 于是,遇到问题了..我怎么把edit里面的十六进制字符串转换成十六进制的数值呢? 头疼一晚上了,希望懂的朋友指点一下.谢谢! 我是菜鸟,高手莫笑我.
另外弱弱的问一句, 如果我直接把十六进制的数转成十进制的数放到上面的pointer()里面..是否也行的通?
追问一句: 是不是用十六进制/十进制/八进制/二进制都可以表示内存地址呢(只要是换算的值相等) ?
===============================================================================
任何进制的数都是一种表现形式,其值的大小是不会变的,在计算机内部,也就是几个电位表示的0、1而已。