vb中怎样写二进制转换成十进制的代码

用简单点的代码,比如用For-next语句,Do-loop语句等,利用循环来执行,这样的代码怎么写... 用简单点的代码,比如用For-next 语句,Do-loop语句等,利用循环来执行,这样的代码怎么写 展开
 我来答
小先917
2012-10-19 · TA获得超过161个赞
知道小有建树答主
回答量:390
采纳率:0%
帮助的人:172万
展开全部
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中显示十进制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bdb9803
2012-10-19 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ricky43
推荐于2018-01-30 · TA获得超过2354个赞
知道大有可为答主
回答量:1687
采纳率:66%
帮助的人:695万
展开全部
=====================================================================
算法:
二进制转十进制
从最后一位开始算,依次列为第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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式