16进制和10进制转换的问题!头疼(10分)

  • 主题发起人 主题发起人 lcl_003
  • 开始时间 开始时间
L

lcl_003

Unregistered / Unconfirmed
GUEST, unregistred user!
我想让16进制的数比如说00自动加1,当加到09的时候,正常的下个数应该是0A,
但是我想让下个数是10。也就是让16进制的数按10进制的顺序来增长,这个算法怎么
写啊。
 
>>就是让16进制的数按10进制的顺序来增长
什么意思?
 
不明白[:(!]
 
就是16进制的数00自动加1,就是00,01,02,03,04,05,06,07,08,09
按照16进制的规则下个数应该是0A,但是我想让下个数是10,以后的数是:
10,11,12,13,14,15,16,17,18,19
下个数是
20,21,22,23,24,25,26,27,28,29,30,31........
就是想这样
 
说的什么呀
 
设一个计数器或标志位,尾数到9后加16,尾数清0。
 
这样有什么用啊?
你看看你的规律应该是:
H 05,06,07,08,09,10,11,...19,20,21...29,30
D 05,06,07,08,09,16,17,...25,32,32...41,48
只要找到规律就好办了:除以16,余数为9时的下一个数就应该加7,否则加1
明白?
 
仅供参考
{十六进值字符串转换成LongInt值}
function HexStrToInt(S: String): LongInt;
var
I: Integer;
begin
Result := 0;
for I := 1 to Length(S) do
begin
if S in ['0'..'9'] then
Result := Result * 16 + (Integer(S) - 48)
else if S in ['A'..'F'] then
Result := Result * 16 + (Ord(S) - 55);
end;
end;
 
怎么不用10进制,如果是一位,前面加零
 
多人接受答案了。
 
后退
顶部