VBS 16进制转换10进制

程序代码 程序代码
nums="a100"
chn10(nums)
Function chn10(nums)
Dim tmp,tmpstr,i
nums_len=Len(nums)
For i=1 To nums_len
tmp=Mid(nums,i,1)
If IsNumeric(tmp) Then
tmp=tmp * 16 * (16^(nums_len-i-1))
Else
tmp=(ASC(UCase(tmp))-55) * (16^(nums_len-i))
End If
tmpstr=tmpstr+tmp
Next
msgbox tmpstr
End Function


下面附上16进制转换10进制的算法:
一、16进制中,A=10,B=11,C=12,D=13,E=14,F=15;

二、计算用各字符分开计算然后求和,方法是字符×16的(位置减1)次方,位置从左边数起。

例子:将 43ED 转换为10进制,

分解为:

D×160=13×160=13

E×161=14×161=224

3×162=3×162=768

4×163=4×163=16384

----------------------------------

合 计:   17389

所以,43ED=17389


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.