如何用VB编写一个程序:十进制转换成二进制

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:28:30
包含小数的转换(不只是整数).

20位正整数的转换
Private Sub Command1_Click()
Label1.Caption = ""
Label2.Caption = ""
Dim x, y(1 To 21), z(1 To 20), a, b, i
x = Val(Text1.Text)
y(1) = x
For i = 1 To 20
If Not (y(i) - Int(y(i) / 2) * 2) = 0 Or Not (y(i) - Int(y(i) / 2) * 2) = 1 Then
a = a + 1
y(a + 1) = (y(i) - Int(y(i) / 2))
End If
If y(i) / 2 - Int(y(i) / 2) > 0 Then
y(a + 1) = (y(i) - Int(y(i) / 2)) - 1
Else
y(a + 1) = (y(i) - Int(y(i) / 2))
End If
If (y(i) - Int(y(i) / 2) * 2) = 0 Or (y(i) - Int(y(i) / 2) * 2) = 1 Then
b = b + 1
If y(i) - Int(y(i) / 2) * 2 = 0 Then
z(b) = 0
ElseIf y(i) - Int(y(i) / 2) * 2 = 1 Then
z(b) = 1
End If
End If
If y(i) = 0 Or y(i) = 1 Then Exit For
Next i
For i = 1 To a
Label1.Caption = Label1.Caption + Str(y(i))
Next i
For i = b To 1 Step -1
Label2.Caption = Label2.Caption + Str(z(i))
Next i
End Sub