BYTE数据怎么转化成二进制字符串
发布网友
发布时间:2022-04-19 15:15
我来回答
共2个回答
热心网友
时间:2023-06-21 17:47
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就展现其二进制字符串。
热心网友
时间:2023-06-21 17:48
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);
}