BYTE数据怎么转化成二进制字符串 30

C++或者C... C++或者C 展开
 我来答
zdingyun
推荐于2016-07-23 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48174
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

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就展现其二进制字符串。

听不清啊
高粉答主

2013-12-16 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

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);

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式