1) 十进制正整数m转换为R(2-16)进制的字符串。
思路: 将m不断除r取余数,直到商为0,将余数反序即得到结果。
算法实现:
Private Function Tran(ByVal m As Integer, ByVal r As Integer) As String
Dim StrDtoR As String, n As Integer
Do While m <> o
n = m Mod r
m = m \ r
If n > 9 Then
StrDtoR = Chr(65 + n - 10) & StrDtoR
Else
StrDtoR = n & StrDtoR
End If
Loop
Tran = StrDtoR
End Function
2) R(2-16)进制字符串转换为十进制正整数。
思路:R进制数每位数字乘以权值之和即为十进制数。
算法实现:
Private Function Tran(ByVal s As String, ByVal r As Integer) As integer
Dim n As Integer, dec As Integer
s = UCase(Trim(s))
For i% = 1 To Len(s)
If Mid(s, i, 1) >= "A" Then
n = Asc(Mid(s, i, 1)) - Asc("A") + 10
Else
n = Val(Mid(s, i, 1))
End If
dec = dec + n * r ^ (Len(s) - i)
Next i
Tran = dec
End Function
【VB常用算法(四)进制转化】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布03-23
Vb中控件的自动排列03-23
法院上半年工作总结03-23
2018湖南省农村信用社联合社招聘科技专业人才拟聘公告03-23
at(the)least和not(in)the least用法区别 相似词语辨析(17)03-23
普通中学生入团志愿书500字通用范文03-23
计算机应用技术英语简历范文大全03-23
党员四风问题自查材料03-23
敲重点啦!2024年四川攀枝花中小学寒假时间和春季开学时间公布03-23
2016年四级满分作文范文欣赏(3)03-23
写景作文:四季的美清少纳言_350字03-23
