一个十进制的浮点数如果用4个字节的十六进制数来表示或者反过来应该怎样换算?
比如在用: 0 0 c8 bc 来表示 0.022,是怎样换算的.

解决方案 »

  1.   

    这是将内存中变量实际存储的字节,转为VB数据。需对VB各种类型存储方式有所了解,数据在内存中是倒序存放的,即高字节在后,低字节在前,Single为4字节浮点类型,知道这些,就好办了,用API直接在内存中进行复制,便可轻松完成。Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal dwLength As Long)Dim i As Single, a(3) As Byte
    a(2) = &HC8
    a(3) = &HBC
    CopyMemory i, a(0), 4
    Debug.Print i
      

  2.   

    谢谢homezj(小吉) ,问题解决了我马上给分
    现在没条件测试
      

  3.   

    homezj(小吉) 兄 不对哦 
    输出:-2.441406E-02 
    而不是2.2E-02