永发信息网

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就展现其二进制字符串。
全部回答
  • 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);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯