把十进制的数字转化为二进制的形式写入文件---用UE查看时显示为01代码! 谢谢

解决方案 »

  1.   

    Private Sub cmdSave_Click()
    CommonDialog1.Filter = "textfile(*.txt)|*.txt"
    CommonDialog1.ShowSave
    Text3 = CommonDialog1.FileName
    End SubPrivate Sub cmdtran_Click()
    Dim a As Integer
    a = Val(Text1.Text)
    Do Until a = 0
      Text2.Text = a Mod 2 & Text2.Text
      a = Int(a / 2)
    Loop
    Open "Text3.txt" For Output As #1
    Print #1, "十进制数:" & Text1.Text & "的二进制数为:" & Text2.Text
    Close #1End Sub
      

  2.   

    谢谢大哥真心实意地帮助俺们,没有向二楼的摆大款!
    我如下的程序帮助:
    Private Sub save_cmd_Click()
    Dim b(15) As Byte
    Dim mystr As String
    Dim i As Integer
    Dim a As Integer
    a = Val(Text1.Text)
    Do Until a = 0
      mystr = a Mod 2 & mystr
      a = Int(a / 2)
    Loop
    Text1.Text = mystrFor i = 0 To Len(mystr) - 1
    b(15 - i) = Mid(mystr, Len(mystr) - i, 1)
    Print Mid(mystr, Len(mystr) - i, 1)
    Next i
    Open "c:\mystr" For Binary As #1
    Put #1, , b()
    CloseEnd Sub'输入数字26用UE打开mystr后,显示如下:
    00 00 00 00 00 00 00 00 00 00 00 01 01 00 01 00
    而我所想要结果是用UE打开后如下:
    0000000000011010谢谢!
      

  3.   

    UE打开的是整个文件,里面包括了所有的文件结构,如果LZ需要取中间的部份数据时,,LZ,首先得找对地方,
    不然永远得不到正确的答案
      

  4.   

    to ewolf。请别多心,开个玩笑而已。你的问题我没接触过,抱歉没法帮你。
      

  5.   

    兄弟,你的Dim b(15) As Byte 是16个字节啊
    你想要8个字节的输出,改成Dim b(7) As Byte不就行了?注意表溢出就是!
      

  6.   


    谢谢! 
    Put #1,?? , b() ===>"??"就是指这个段数据在文件中的位置,可能也就是你所说的"地方",只不过,我在这儿省略了而已.