BYTE数据怎么转化成二进制字符串
答案:2 悬赏:20 手机版
解决时间 2021-01-15 01:25
- 提问者网友:玫瑰园
- 2021-01-14 18:59
BYTE数据怎么转化成二进制字符串
最佳答案
- 五星知识达人网友:煞尾
- 2021-01-14 19:30
Byte数据可通过一定的自定义函数过程,将其转化成二进制字符串。
可先将Byte数据其10进制值用Hex函数转为16进制的字符串,然后通过自定义函数转成二进制字符串。
Hex 函数,返回代表十六进制数值的 String。
以下是VB6.0的处理代码。
Option Explicit
Dim sBin
Dim sHex
Dim BinData
Const s1 = "0000101001101111000", s2 = "0125A4936DB7FEC8"
Dim yTemp() As Byte
Private Sub Command1_Click()
If Val(Text1) < 128 Then
sHex = Right("0" & Hex(Text1), 2)
Call HexToBin(sHex)
Text2 = BinData
Else
sHex = Hex(Text1)
Call HexToBin(sHex)
Text2 = BinData
End If
End Sub
Public Function HexToBin(ByVal sHex As String) As String
Dim i As Integer, sBin As String
sHex = UCase(sHex)
For i = 1 To Len(sHex)
sBin = sBin & Mid(s1, InStr(1, s2, Mid(sHex, i, 1)), 4)
Next i
HexToBin = sBin
BinData = sBin
End Function
Private Sub Form_Load()
Text1 = ""
Text2 = ""
End Sub在Text1中输入Byte数据的10进制值,Text2就展现其二进制字符串。
可先将Byte数据其10进制值用Hex函数转为16进制的字符串,然后通过自定义函数转成二进制字符串。
Hex 函数,返回代表十六进制数值的 String。
以下是VB6.0的处理代码。
Option Explicit
Dim sBin
Dim sHex
Dim BinData
Const s1 = "0000101001101111000", s2 = "0125A4936DB7FEC8"
Dim yTemp() As Byte
Private Sub Command1_Click()
If Val(Text1) < 128 Then
sHex = Right("0" & Hex(Text1), 2)
Call HexToBin(sHex)
Text2 = BinData
Else
sHex = Hex(Text1)
Call HexToBin(sHex)
Text2 = BinData
End If
End Sub
Public Function HexToBin(ByVal sHex As String) As String
Dim i As Integer, sBin As String
sHex = UCase(sHex)
For i = 1 To Len(sHex)
sBin = sBin & Mid(s1, InStr(1, s2, Mid(sHex, i, 1)), 4)
Next i
HexToBin = sBin
BinData = sBin
End Function
Private Sub Form_Load()
Text1 = ""
Text2 = ""
End Sub在Text1中输入Byte数据的10进制值,Text2就展现其二进制字符串。
全部回答
- 1楼网友:七十二街
- 2021-01-14 19:41
void b2s(char s[],int c)
{
char i=0,j=0,t;
while(c)
{
s[i++]=48+c%2;
c>>=1;
}
s[i--]=0;
while(i>j)
{t=s[i];s[i--]=s[j];s[j++]=t;}
return s;
}
void main()
{
char s[9];
int n;
scanf("%ud",&n);
b2s(s,n);
puts(s);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯