求助,哪位高手看哈下面这段代码哪里错了,谢谢!
vb吧
全部回复
仅看楼主
level 1
lm_mcgrady 楼主
十进制转换为二进制的程序
Private Sub Command1_Click()
Dim e, f, b, a, h As Integer
Dim zw() As String, zwx() As String
e = InputBox("输入数据")
f = Val(e)
a = Int(f)
b = a
e = 0
h = e
For k = 1 To 20
zw(k) = 0
zwx(k) = 0
Next k
For k = 1 To 20
If a > 0.5 Then
zw(x) = a Mod 2
a = Int(a / 2)
End If
Next k
Print "b=", b, "zw="
For j = 1 To 20
j = 21 - k
Print zw(j)
Next j
End Sub
2011年10月09日 11点10分 1
level 1
lm_mcgrady 楼主
运行时老是下标越界。
2011年10月09日 11点10分 2
level 1
lm_mcgrady 楼主
额,有哪位高手能指点不,感激不尽啊
2011年10月09日 11点10分 3
level 1
lm_mcgrady 楼主
你们敢不敢指出哪里错
2011年10月09日 11点10分 4
level 9
数组zw没有重定义
2011年10月09日 12点10分 5
level 1
lm_mcgrady 楼主
额,能具体点吗,很久没有用到VB了,好多东西都生疏了,灰常感谢
2011年10月09日 12点10分 6
level 1
lm_mcgrady 楼主

额,能具体点吗,很久没有用到VB了,好多东西都生疏了,灰常感谢
2011年10月09日 12点10分 7
level 9
你直接写Dim zw(20) As String, zwx(20) As String这样不好吗。。我看你的for循环也才20而已。。多省事啊
2011年10月09日 12点10分 8
level 1
lm_mcgrady 楼主
额,加了20进去了,但是还是转换不出来,哎,感觉自己什么都不会了
2011年10月09日 12点10分 9
level 12
zw()和zwx()是字符串。你把数值赋值给字符串,不会出错吗?
2011年10月09日 12点10分 10
level 1
lm_mcgrady 楼主
我改成这样了,但是最后输入数进去后什么都没显示出来
Private Sub Command1_Click()
Dim e, f, b, a, h, i As Integer
Dim zw(20) As String, zwx(20) As String
e = InputBox("输入数据")
f = Val(e)
a = Int(f)
b = a
e = 0
h = e
For k = 1 To 20
If a > 0.5 Then
zw(k) = a Mod 2
a = Int(a / 2)
End If
Next k
For i = UBound(zw) To 1 Step -1
zwx = zwx & zw(i)
Next i
Text1.Text = zwx '显示的是二进制的
End Sub
2011年10月09日 12点10分 11
level 1
lm_mcgrady 楼主
哦,十进制的终于出来了,谢谢各位的指教,灰常感谢。
2011年10月09日 12点10分 12
level 1
lm_mcgrady 楼主
最后还有个小数的十进制转换为二进制的请教各位,
For k = 1 To 20
If e > 0.00001 Then
e = ex2
If e > 0.999 Then
zwx(k) = 1
e = e - 1
End If
End If
Next k
For k = 1 To 20
Print zwx(k)
Next k
End Sub
2011年10月09日 13点10分 13
1