用VB.NET将二进制数转换为十进制数

我是这么遍的,但是最后一个输出是0,高手看一下是怎么回事ModuleModule1SubMain()Dimb,w,i,sumAsIntegerDimaAsLongCons... 我是这么遍的,但是最后一个输出是0,高手看一下是怎么回事
Module Module1

Sub Main()
Dim b, w, i, sum As Integer
Dim a As Long
Console.WriteLine("请输入一个二进制数")
a = Console.ReadLine()
Console.WriteLine("请输入这个二进制数的位数")
w = Console.ReadLine()
b = w
sum = 0
For i = b To 0
If a - (1 * 10 ^ b) >= 0 Then
sum = sum + 1 * 10 ^ b
a = a - (1 * 10 ^ b)
b = b - 1
End If
Next
Console.WriteLine(sum)
Console.ReadLine()

End Sub

End Module
展开
 我来答
呼沛槐0R
推荐于2016-04-26 · TA获得超过2661个赞
知道大有可为答主
回答量:2135
采纳率:0%
帮助的人:2666万
展开全部
.NET 程序写成你这样也算厉害了,好好看看下面的代码

Sub Main()
Console.WriteLine("请输入一个二进制数")
Console.WriteLine(bin2int(Console.ReadLine()))
Console.ReadKey()
End Sub

Function bin2int(ByVal bin As String) As Integer
Dim i As Long
For i = 1 To bin.Length
bin2int = bin2int * 2 + Val(Mid(bin, i, 1))
Next i
End Function
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
只为看山来you
推荐于2018-03-26 · TA获得超过1287个赞
知道小有建树答主
回答量:414
采纳率:92%
帮助的人:46.3万
展开全部
Sub Main()
Console.WriteLine("请输入一个二进制数")
Console.WriteLine(bin2int(Console.ReadLine()))
Console.ReadKey()
End Sub

Function bin2int(ByVal bin As String) As Integer
Dim i As Long
For i = 1 To bin.Length
bin2int = bin2int * 2 + Val(Mid(bin, i, 1))
Next i
End Function
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式