Private Sub Command1_Click()
MsgBox bindec("10111110000")
End Sub
Function bindec(x As String) As Long ' 2 TO 10
Const BINS = "01"
For i = 1 To Len(x)
If InStr(1, BINS, Mid(x, i, 1)) <> 0 Then GoTo OK
MsgBox "NOT A BINARY FORMAT!": Exit Function
Next
OK:
For i = 1 To Len(x)
Y = Y + Mid(x, i, 1) * 2 ^ (Len(x) - i)
Next
bindec = Y
End Function
Private Function TenturnTwo(ByVal varNum As Long) '10->2
Dim returnString As String, ModNum As Integer
Do While varNum > 0
ModNum = varNum Mod 2
varNum = varNum \ 2
returnString = Trim(Str(ModNum)) + returnString
Loop
TenturnTwo = returnString
End Function
Private Function TwoturnTen(ByVal varString As String) '2->10
Dim SLen As Long, I As Long, returnNum As Long
SLen = Len(varString)
For I = 0 To SLen - 1
returnNum = returnNum + Val(Mid(varString, I + 1, 1)) * (2 ^ (SLen - I - 1))
Next
TwoturnTen = returnNum
End Function
OptionExplicit
Private Function TenturnTwo(ByValvarNumAsLong) '10->2
Dim returnStringAsString,ModNumAsInteger
Do WhilevarNum>0
ModNum=varNumMod2
varNum=varNum\2
returnString=Trim(Str(ModNum))+returnString
Loop
TenturnTwo=returnString
End Function
Private Function TwoturnTen(ByValvarStringAsString) '2->10
DimSLenAsLong,I As Long,returnNumAsLong
SLen=Len(varString)
ForI=0ToSLen-1
returnNum=returnNum+Val(Mid(varString,I+1,1))*(2^(SLen-I-1))
Next
TwoturnTen=returnNum
End Function