一个二进制转为十进制的问题
' 将二进制转化为十进制
Private Function BIN2DEC(ByVal Bin As String) As Long
Dim ra As Double = 0
For i As Integer = 1 To Len(Bin)
ra = ra * 2 + Val(Mid(Bin, i, 1))
Next i
If ra > 9223372036854775807 Then
Return 0
Else
Return CLng(ra)
End If
End Function
'将二进制转化为十进制
Private Function BIN2DEC(ByVal Bin As String) As Long
return Convert.ToUInt64(Bin,2)
End Function
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