Private Function IPLong(IPStr As String) As Long
Dim i0 As Integer, i1 As Integer, b(3) As Byte, d As Double
    On Error GoTo IPEmp
    i0 = 1
    i1 = InStr(i0, IPStr, ".")
    b(0) = Mid(IPStr, i0, i1 - i0)
    i0 = i1 + 1
    i1 = InStr(i0, IPStr, ".")
    b(1) = Mid(IPStr, i0, i1 - i0)
    i0 = i1 + 1
    i1 = InStr(i0, IPStr, ".")
    b(2) = Mid(IPStr, i0, i1 - i0)
    i0 = i1 + 1
    b(3) = Mid(IPStr, i0)
    d = b(3) * 16777216# + b(2) * 65536# + b(1) * 256# + b(0)
    If b(3) > 127 Then
        IPLong = d - 4294967296#
    Else
        IPLong = d
    End If
    Exit Function
IPEmp:
    IPLong = 0
End Function应该都看得出 这段代码是把点分IP转换成long型ip的函数.问:
1.    d = b(3) * 16777216# + b(2) * 65536# + b(1) * 256# + b(0)
    If b(3) > 127 Then
        IPLong = d - 4294967296#这个地方看不懂,为啥要这样捏.
2.问下 long型的ip是二进制形式么?