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) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

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!