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
上面相关的方法仅作为记录,便于以后查找。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...