Code archives/Algorithms/Base Converter
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
| Converts a number from one base to another. | |||||
Type character
Field symbol$,value
End Type
seed$="0123456789abcdefghijklmnopqrstuvwxyz"
For a=0 To 35
c.character=New character
c\symbol$=Left$(seed$,1)
c\value=a
seed$=Right$(seed$,Len(seed$)-1)
Next
start$=Input$("Enter a number in any base: ")
base=Input$("Enter the base: ")
newbase=Input$("Enter the base to convert to: ")
savedstart$=start$
If Not base<37 And newbase<37
Print "Base must be less than 37!"
Delay(5000)
End
End If
total=0
power=0
While Not start$=""
currentsymbol$=Right$(start$,1)
For c.character=Each character
If c\symbol$=Lower$(currentsymbol$)
currentnumber=c\value
End If
Next
If currentnumber>base-1
invalid=1
End If
total=total+currentnumber*base^power
start$=Left$(start$,Len(start$)-1)
power=power+1
Wend
While Not total=0
currentnumber=total Mod newbase
total=total-currentnumber
total=total/newbase
For c.character=Each character
If c\value=currentnumber
currentsymbol$=c\symbol$
End If
Next
output$=currentsymbol$+output$
Wend
If invalid
Print savedstart$+" is not a valid base "+base+" number!"
Else
Print output$
End If
Delay(5000) |
Comments
None.
Code Archives Forum