vb中怎样写二进制转换成十进制的代码
用简单点的代码,比如用For-next语句,Do-loop语句等,利用循环来执行,这样的代码怎么写...
用简单点的代码,比如用For-next 语句,Do-loop语句等,利用循环来执行,这样的代码怎么写
展开
3个回答
展开全部
Private Sub Command1_Click()
Dim a As String
a = Text1.Text
For i = 0 To Len(a) - 1
s = (2 ^ i) * Mid(a, Len(a) - i, 1) + s
Next i
Text2.Text = s
End Sub
Private Sub Form_Load()
Dim s As Integer
s = 0
End Sub
从text1中写二进制,点击command1在text2中显示十进制
Dim a As String
a = Text1.Text
For i = 0 To Len(a) - 1
s = (2 ^ i) * Mid(a, Len(a) - i, 1) + s
Next i
Text2.Text = s
End Sub
Private Sub Form_Load()
Dim s As Integer
s = 0
End Sub
从text1中写二进制,点击command1在text2中显示十进制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command1_Click()
a = "10110100"
For i = 0 To Len(a) - 1
j = IIf(Val(Mid(a, Len(a) - i, 1)) > 0, j + 2 ^ i, j)
Next i
MsgBox a & "=" & j
End Sub
a = "10110100"
For i = 0 To Len(a) - 1
j = IIf(Val(Mid(a, Len(a) - i, 1)) > 0, j + 2 ^ i, j)
Next i
MsgBox a & "=" & j
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=====================================================================
算法:
二进制转十进制
从最后一位开始算,依次列为第0、1、2...位
第n位的数(0或1)乘以2的n次方
得到的结果相加就是答案
例如:01101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0
+8+0+32+64+0=107.
二进制01101011=十进制107.
代码:
Public Function BIN_to_DEC(ByVal Bin As String) As Long
Dim i As Long
For i = 1 To Len(Bin)
BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))
Next i
End Function
Private Sub Command1_Click()
m = InputBox("")
MsgBox BIN_to_DEC(m)
End Sub
算法:
二进制转十进制
从最后一位开始算,依次列为第0、1、2...位
第n位的数(0或1)乘以2的n次方
得到的结果相加就是答案
例如:01101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0
+8+0+32+64+0=107.
二进制01101011=十进制107.
代码:
Public Function BIN_to_DEC(ByVal Bin As String) As Long
Dim i As Long
For i = 1 To Len(Bin)
BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))
Next i
End Function
Private Sub Command1_Click()
m = InputBox("")
MsgBox BIN_to_DEC(m)
End Sub
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |