有一个4字符的byte数组byte(){122,218,152,240}
有什么函数能转成int类型的?转成int后是10017402
java中可以这么做,vb里有类似的函数吗?或该怎么实现?

解决方案 »

  1.   

    一个Integer类型放不下10017402吧,溢出啊,你应该定义Long类型,而且10017402确定是{122,218,152,240}?为什么我用计算器显示的是{122,218,152,0}……
      

  2.   

    Dim a(3) As Byte
    Dim b As Long
    a(0) = 122
    a(1) = 218
    a(2) = 152
    a(3) = 0
    b = CLng(a(0)) + CLng(a(1)) * 256& + CLng(a(2) * 65536) + CLng(a(3)) * 16777216
    Debug.Print b '10017402
      

  3.   


    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
      Dim a(3) As Byte
      Dim b As Long
        a(0) = 122
        a(1) = 218
        a(2) = 152
        a(3) = 0
        Call CopyMemory(b, a(0), 4)
        Debug.Print b
      

  4.   

    使用copymemory API函数,如果byte的字节顺序为低字节在前