Sprache: VB
Dieses Snippet rechnet ganze Zahlen der Basis 10 in eine beliebige Basis 1 < b < 37 um.
Die Grenze 36 ergründet sich aus der Menge der Ziffen Z = {0,1,..,9,a,b,..,z}.
Die Funktion gibt "ValueError" zurück, sollte die gewünschte Basis nicht zwischen 2 und 36 liegen.
Function dec2any(ByVal n As Integer, ByVal base As Byte) As String
If n < 0 Then Return "-" & dec2any(-n, b)
If base < 2 OrElse base > 36 Then Return "ValueError"
Dim str As String = "", z As String() = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
While Not n = 0
str = z(n Mod base) & str
n = base
End While
Return str
End Function
Function dec2any(ByVal n As Integer, ByVal base As Byte) As String
If n < 0 Then Return "-" & dec2any(-n, b)
If base < 2 OrElse base > 36 Then Return "ValueError"
Dim str As String = "", z As String() = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
While Not n = 0
str = z(n Mod base) & str
n = base
End While
Return str
End Function
Alte URL:
/snippet/dezimalzahl-in-zahl-der-basis-b-37-konvertieren/1472