我们知道16进制的元素是0123456789ABCDEF 总共16个元素的集合,我们经常需要将16进制换算为10进制或2进制,尤其是串口或网口通讯, VB6提供了Hex函数 能将10进制数值转换为16进制, 但是VB6却没有提供如何将16进制转换为10进制数值的函数, 如何计算这个数值, 下面列出计算式便可明白了
例如: 16进制 【1234ABCD】 换算为10进制数值的计算式:
0123456789当大于9时 就转为ABCDEF来替代 A=10 B=11 C=12 D=13 E=14 F=15
Tval = 1 * 16 ^ 7 + 2 * 16 ^ 6 + 3 * 16 ^ 5 + 4 * 16 ^ 4 + 10 * 16 ^ 3 + 11 * 16 ^ 2 + 12 * 16 ^ 1 + 13 * 16 ^ 0
MsgBox Tval 将返回 305441741
Tval 就是1234ABCD的10进制数值
再将10进制数值还原回来就很简单了, 只要使用VB6自带的函数Hex即可
MsgBox Hex(Tval) 将返回 305441741
再举一个例 FFFFFFFF
F 的10进制值 = 15
例如: 16进制 【FFFFFFFF】 换算为10进制数值的计算式:
Tval = 15 * 16 ^ 7 + 15 * 16 ^ 6 + 15 * 16 ^ 5 + 15 * 16 ^ 4 + 15 * 16 ^ 3 + 15 * 16 ^ 2 + 15 * 16 ^ 1 + 15* 16 ^ 0
MsgBox Tval 将返回 4294967295
MsgBox Hex(Tval) 将返回 FFFFFFFF
例如: 16进制 【1234ABCD】 换算为10进制数值的计算式:
0123456789当大于9时 就转为ABCDEF来替代 A=10 B=11 C=12 D=13 E=14 F=15
Tval = 1 * 16 ^ 7 + 2 * 16 ^ 6 + 3 * 16 ^ 5 + 4 * 16 ^ 4 + 10 * 16 ^ 3 + 11 * 16 ^ 2 + 12 * 16 ^ 1 + 13 * 16 ^ 0
MsgBox Tval 将返回 305441741
Tval 就是1234ABCD的10进制数值
再将10进制数值还原回来就很简单了, 只要使用VB6自带的函数Hex即可
MsgBox Hex(Tval) 将返回 305441741
再举一个例 FFFFFFFF
F 的10进制值 = 15
例如: 16进制 【FFFFFFFF】 换算为10进制数值的计算式:
Tval = 15 * 16 ^ 7 + 15 * 16 ^ 6 + 15 * 16 ^ 5 + 15 * 16 ^ 4 + 15 * 16 ^ 3 + 15 * 16 ^ 2 + 15 * 16 ^ 1 + 15* 16 ^ 0
MsgBox Tval 将返回 4294967295
MsgBox Hex(Tval) 将返回 FFFFFFFF