紧急求教:十六进制怎么转换成二进制啊?

catchtheday 2003-11-30 04:25:36
很傻的问题,但是难住小弟了。
因为要进行位操作,就是判断二进制下某几位是0还是1。
源数据是从串口传来的b(1,4)=Hex(InByte(i))
现在试图用d(1,4)=?(b(1,4))
结果找不到能用的函数,用bin出错。
多谢诸位!!!
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
catchtheday 2003-12-01
  • 打赏
  • 举报
回复
多谢二位大哥!!!
northwolves 2003-11-30
  • 打赏
  • 举报
回复
Function hextoBin(X As String) As String
Const Bins = "0000000100100011010001010110011110001001101010111100110111101111"
Dim i As Integer, s As String
s = ""
For i = 1 To Len(X)
s = s + Mid(Bins, (Val("&h" + Mid(X, i, 1)) * 4 + 1), 4)
Next
hextoBin = Format(s, "0")
End Function

Private Sub Command1_Click()
MsgBox hextoBin("A4")
End Sub
rainstormmaster 2003-11-30
  • 打赏
  • 举报
回复
逐位用and:
Option Explicit

Private Sub Command1_Click()
Dim i As Long
i = 1234
Dim j As Long
Dim s As String
Dim binstr As String
Do While 2 ^ j <= i
If (i And 2 ^ j) = 2 ^ j Then
s = "1"
Else
s = "0"
End If
binstr = s + binstr
Debug.Print CStr(i) + "的右数第" + CStr(j + 1) + "位为:" + s
j = j + 1
Loop
MsgBox CStr(i) + "的2进制表示为:" + binstr
End Sub
crystal_heart 2003-11-30
  • 打赏
  • 举报
回复
NOT AND OR

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧