Home

Add

Edit

With Linenumbers

Code in Textfield

Download

'funktioniert nur mit positiven zahlen!

'Die zu konvertierende Zahl
Dim VarZahl As Uinteger = 12345

'Ist die Zahl schon 0, dann raus hier.
If VarZahl = 0 Then
    Print "0"
    End 0
End If

'Das system in das konvertiert werden soll (2 = binär)
Dim VarSystem As Uinteger = 2

'Potenzvariable
Dim VarPotenz As Uinteger

'Zuerst wird die grösst mögliche Potenz für die angegebene zahl im neuem system gesucht.
Do
    'wenn die zahl kleiner als die aktuelle potzen + 1 ist, dann schleife verlassen.
    If VarZahl < (VarSystem ^ (VarPotenz + 1)) Then Exit Do
    
    'ansonstne potzen um +1 erhöhen
    VarPotenz += 1
Loop

'anschliessend die zahl in das system konvertieren
'hier wird vom höchsten wert nach unten potenziert
Do
    'ist die zahl 0, dann raus hier
    If VarZahl = 0 Then Exit Do
    
    'Die Anzahl möglicher teilungen der Zeil durch die aktuelle Potenz ausgeben (max ist system -1)
    Print Str(VarZahl \ (VarSystem ^ VarPotenz));
    
    'die Potenz von der aktuellen zahl abziehen und den rest speichern
    VarZahl Mod= (VarSystem ^ VarPotenz)
    
    'potenz -1
    VarPotenz -= 1
    
    'ist die potenz 0, dann ist das ende erreicht.
    If VarPotenz = 0 Then
        'wenn noch ein wert übrig ist, dann diesen ausgeben
        If VarZahl > 0 Then Print Str(VarZahl);
        
        'schleife verlassen
        Exit Do
    End If
Loop
Print
End 0