VB 问题??急!!!

来源:百度知道 编辑:UC知道 时间:2024/05/10 06:43:11
VB中,将读入的二进制数,转换为单浮点数,读入没有错误,但在转换过程中出错,由单精度转换为字节串的过程中经常丢位,高手指点一下,源程序为QB,地址http://zhidao.baidu.com/question/41377662.html。(qq59141960)用其他方法把数据转换为单精度也可!
Option Explicit
Private a1 As String
Private a2 As String
Private a3 As String
Private a4 As String
Private a6 As String
Private a7 As String
Private a8 As String
Private a5 As String
Private file As String
Private Dlength As Single
Private amp As Single
Private frq As Double
Private ylw As Single
Private yup As Single
Private wkind As Long
Private p As Single
Private i As Single
Private wpara As Warepara
Private wave(0 To 1601) As Single
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)

Function MKS$(x As Single)

下列代码可将Single浮点数转为4字节2进制数据,及4字节2进制数据转为Single浮点数运算:
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Dim hexData As String
Dim i As Single
Dim j As Integer
Dim bl As String
Dim bl_dm As String
Dim BinData As String
Dim ccl() As String
Dim Ccll() As String
Dim fh As String * 1
Dim zs As String * 8
Dim zssz As String
Dim xs As String * 23
Dim xs_js() As Double
Dim xs_hj As Double
Dim bb_h(1) As String
Dim bb_hh(1) As String
Dim bll_0 As String
Dim sinData1 As Double
Dim sinData As Single
Private Sub Cod()
If Len(bl) = 8 Then
'16-2转换
ReDim ccl(1 To Len(bl))
ReDim Ccll(1 To Len(bl))
For i = 1 To Len(bl)
ccl(i)