Feedback

C# - Dezimalzahl in beliebiges Zahlensystem umrechnen

Veröffentlicht von am 21.02.2009
(1 Bewertungen)
Berechnet die Wertigkeit der einzelnen Ziffern eines angegebenen Zahlensystems.

Beispiel:
baseSize = 16 (für Hex)
value = 23422
int[] = 5, 11, 7, 14 (Überschnitte wie 11 = B und 14 = E, müssen selbst umgewandelt werden)
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

public static int[] ToBase(int baseSize, long value)
{
    Stack<int> digits = new Stack<int>();

    long tmp = value;
    while (tmp != 0)
    {
        digits.Push((int)(tmp % baseSize));
        tmp = (long)((tmp - digits.Peek()) / baseSize);
    }            

    return digits.ToArray();
}

2 Kommentare zum Snippet

Klemens Nanni schrieb am 30.03.2010:
Dafür gibt es doch die Klasse Convert.
{
int Number = 12345;
byte Base = 2;

string newNumber = Convert.ToString(Number, Base);
}
Christian Hunke schrieb am 25.11.2010:
@Klemens Nanni
Ja, aber nur solange die Basis 2, 8, 10 oder 16 ist. Meine Methode kann theoretisch mit jeder Basis arbeiten. Z.B. bei alphanumerischer Kodierung sinnvoll, hier ist die Basis 26. Die Ziffernwerte müssen dann nurnoch auf das Offset vom kleinen oder großen 'A' addiert werden.
 

Logge dich ein, um hier zu kommentieren!