vb中获取(int,long数据类型)的高位值与低位值的相关计算方法

前端之家收集整理的这篇文章主要介绍了vb中获取(int,long数据类型)的高位值与低位值的相关计算方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.long数据类型相关函数,以下函数来自网络,具体来源网站未做记录,仅做了简单测试。

'将16进制字符串转换为Long整型数据
Public Function HEX_to_DEC(ByVal Hex As String) As Long
    Dim i As Long
    Dim B As Long
    Hex = UCase(Hex)
    For i = 1 To Len(Hex)
        Select Case Mid(Hex,Len(Hex) - i + 1,1)
            Case "0": B = B + 16 ^ (i - 1) * 0
            Case "1": B = B + 16 ^ (i - 1) * 1
            Case "2": B = B + 16 ^ (i - 1) * 2
            Case "3": B = B + 16 ^ (i - 1) * 3
            Case "4": B = B + 16 ^ (i - 1) * 4
            Case "5": B = B + 16 ^ (i - 1) * 5
            Case "6": B = B + 16 ^ (i - 1) * 6
            Case "7": B = B + 16 ^ (i - 1) * 7
            Case "8": B = B + 16 ^ (i - 1) * 8
            Case "9": B = B + 16 ^ (i - 1) * 9
            Case "A": B = B + 16 ^ (i - 1) * 10
            Case "B": B = B + 16 ^ (i - 1) * 11
            Case "C": B = B + 16 ^ (i - 1) * 12
            Case "D": B = B + 16 ^ (i - 1) * 13
            Case "E": B = B + 16 ^ (i - 1) * 14
            Case "F": B = B + 16 ^ (i - 1) * 15
        End Select
    Next i
    HEX_to_DEC = B
End Function

'将Long整型数据转换为16进制字符串
Public Function DEC_to_HEX(Dec As Long) As String
 Dim a As String
 DEC_to_HEX = ""
 If Dec = 0 Then '为零时处理
 DEC_to_HEX = "00"
 Exit Function
 End If
    Do While Dec > 0
 a = CStr(Dec Mod 16)
 Select Case a
 Case "10": a = "A"
 Case "11": a = "B"
 Case "12": a = "C"
 Case "13": a = "D"
 Case "14": a = "E"
 Case "15": a = "F"
 End Select
 DEC_to_HEX = a & DEC_to_HEX
 Dec = Dec \ 16
 Loop
 If Len(DEC_to_HEX) Mod 2 <> 0 Then '补零操作
 DEC_to_HEX = "0" & DEC_to_HEX
 End If
End Function

2.求整型数据的高位值与低位值,因vb中未找到无符号整型的数据类型,下面的例子用Long数据类型来进行替代。数据范围在(0-65535)之间。
Private Sub btnTest_Click()
  Dim iValue As Long
  Dim iHighValue As Byte
  Dim iLowValue As Byte
  iValue = 65000
  iHighValue = ((iValue And &HFF00) \ &H100) And &HFF
  iLowValue = iValue And &HFF
End Sub
上面相关的方法仅作为记录,便于以后查找。

猜你在找的VB相关文章