请哪位高手帮我把这一小段C程序转换为VB语言,非常急迫,由于本人只是个初学者,故对VB还掌握的不够,下边的代买中readBuf[]是一个数组,关键是后边的0x000f如何在VB中赋值给前边的数组......先谢了各位大侠。
以下为C语言代码:
yy1=(int)readBuf[1]&0x00f0;yy1=yy1/16;
yy2=(int)readBuf[1]&0x000f; //第一个数字字节处理
yy3=(int)readBuf[2]&0x00f0;yy3=yy3/16;
yy4=(int)readBuf[2]&0x000f; //第二个数字字节处理
yy5=(int)readBuf[3]&0x00f0;yy5=yy5/16;
yy6=(int)readBuf[3]&0x000f; //第三个个数字字节处理
instrument=yy3*10+yy4; //仪器机箱号计算
xyz=(double)(100000.0*yy1+10000.0*yy2+1000.0*yy3+100.0*yy4+10.0*yy5+1.0*yy6)
if(readBuf[0]==0x2d) xyz=-xyz; 

解决方案 »

  1.   


    yy1=CInt(readBuf(1) And  And H00F0):yy1=yy1/16
    yy2=CInt(readBuf(1) And &H000f) '第一个数字字节处理
    yy3=CInt(readBuf(2) And &H00f0):yy3=yy3/16
    yy4=CInt(readBuf(2) And &H000f) '第二个数字字节处理
    yy5=CInt(readBuf(3) And &H00f0):yy5=yy5/16
    yy6=CInt(readBuf(3) And &H000f) '第三个个数字字节处理
    instrument=yy3*10+yy4 '仪器机箱号计算
    xyz=CDBl(100000.0*yy1+10000.0*yy2+1000.0*yy3+100.0*yy4+10.0*yy5+1.0*yy6)
    if readBuf(0)=&H2D Then xyz=-xyz
      

  2.   

    晕~~~第一行写错了yy1=CInt(readBuf(1) And H&00F0):yy1=yy1/16
    yy2=CInt(readBuf(1) And &H000f) '第一个数字字节处理
    yy3=CInt(readBuf(2) And &H00f0):yy3=yy3/16
    yy4=CInt(readBuf(2) And &H000f) '第二个数字字节处理
    yy5=CInt(readBuf(3) And &H00f0):yy5=yy5/16
    yy6=CInt(readBuf(3) And &H000f) '第三个个数字字节处理
    instrument=yy3*10+yy4 '仪器机箱号计算
    xyz=CDBl(100000.0*yy1+10000.0*yy2+1000.0*yy3+100.0*yy4+10.0*yy5+1.0*yy6)
    if readBuf(0)=&H2D Then xyz=-xyz
      

  3.   


    yy1=CInt(readBuf(1) And &H00F0):yy1=yy1/16
    yy2=CInt(readBuf(1) And &H000f) '第一个数字字节处理
    yy3=CInt(readBuf(2) And &H00f0):yy3=yy3/16
    yy4=CInt(readBuf(2) And &H000f) '第二个数字字节处理
    yy5=CInt(readBuf(3) And &H00f0):yy5=yy5/16
    yy6=CInt(readBuf(3) And &H000f) '第三个个数字字节处理
    instrument=yy3*10+yy4 '仪器机箱号计算
    xyz=CDBl(100000.0*yy1+10000.0*yy2+1000.0*yy3+100.0*yy4+10.0*yy5+1.0*yy6)
    if readBuf(0)=&H2D Then xyz=-xyz无语.....