49 lines
1.2 KiB
Plaintext
49 lines
1.2 KiB
Plaintext
Print DecToBin$(5)
|
|
Print DecToBin$(50)
|
|
Print DecToBin$(9000)
|
|
|
|
Print BinToDec$(DecToBin$(5)) ' 101
|
|
Print BinToDec$(DecToBin$(50)) '110010
|
|
Print BinToDec$(DecToBin$(9000)) ' 10001100101000
|
|
|
|
End
|
|
|
|
Function DecToBin$ (digit As Integer)
|
|
DecToBin$ = "Error"
|
|
If digit < 1 Then
|
|
Print " Error number invalid for conversion to binary"
|
|
DecToBin$ = "error of input"
|
|
Exit Function
|
|
Else
|
|
|
|
Dim As Integer TempD
|
|
Dim binaryD As String
|
|
binaryD = ""
|
|
TempD = digit
|
|
Do
|
|
binaryD = Right$(Str$(TempD Mod 2), 1) + binaryD
|
|
TempD = TempD \ 2
|
|
Loop Until TempD = 0
|
|
DecToBin$ = binaryD
|
|
End If
|
|
End Function
|
|
|
|
Function BinToDec$ (digitB As String)
|
|
BinToDec$ = "Error"
|
|
If Len(digitB) < 1 Then
|
|
Print " Error number invalid for conversion to decimal"
|
|
BinToDec$ = "error of input"
|
|
Exit Function
|
|
Else
|
|
Dim As Integer TempD
|
|
Dim binaryD As String
|
|
binaryD = digitB
|
|
TempD = 0
|
|
Do
|
|
TempD = TempD + ((2 ^ (Len(binaryD) - 1)) * Val(Left$(binaryD, 1)))
|
|
binaryD = Right$(binaryD, Len(binaryD) - 1)
|
|
Loop Until Len(binaryD) = 0
|
|
BinToDec$ = LTrim$(Str$(TempD))
|
|
End If
|
|
End Function
|