二进制转十六进制从文本框TextB输入一串不带符号位的二进制整数,单击“转换”按钮,将二进制转换为 十六进制并显示在文本框TextH中。程序界面如图所示:
转换方法:先从右往左将二进制数分割成4位一组,若最左边的一组不足4位,则用0将高位补足,然后将每4位二进制数转换为1位十六进制数。
Private Sub Convert_Click()
Dim a(1 To 100)As Integer,temp As Integer
Dim s As String,res As String,n As Integer,r As Integer
res=“”
s=TextB.Text
n=Len(s)
For i=1 To n
a(i)=Val(Mid(s,i,1))
Next i
t=n\4
r= ①
temp=0
For i=-1 To r ‘将最高的r位转换为十六进制
②
Next i
If temp>9 Then
res=Chr(temp+55)
Elself temp>0 Then
res=CStr(temp) ‘CStr()函数用于将数值转换为字符串,
同时删除前导空格
End If
For i=1 To t ‘将t组4位二进制转换为十六进制
temp=0
For i=1 To 4
temp=temp+a(j+r+4*(i-1))*2^(4-j)
Next j
If temp>9 Then
res=res+Chr(temp+55)
Else
Res=res+CStr(temp)
End If
Next i
TextH.Text=res
End Sub