vb中怎样用程序将十进制的单精度型转化成十六进制表示?

来源:百度知道 编辑:UC知道 时间:2024/06/05 06:13:32
十进制转化成十六进制,小数点怎么办啊?我是用vb将十进制的数据输入然后转化成十六进制,以字节的形式通过端口发送出去。

Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
Text1 = 2.56
End Sub

Private Sub Command1_Click()
Dim a As Single
a = Val(Text1)
Dim buffer(3) As Byte
CopyMemory buffer(0), a, 4 '获得Byte数组,低字节在前,高字节在后
MSComm1.Output = buffer
End Sub

其实,你可以以小数点 为界,将 数值 分为 2 部分:整数部分 和 小数部分
都用整数表示,发送出去后再反向组合成 所需的数!

当然,还有别的方法

祝你顺利

先把正数部分用除以16取余法化成十六进制,再把小数部分用乘以16取整法也化成十六进制,再在中间添加小数点就行了。