Dezimalzahl in beliebig anderes Zahlensystem umrechnen

Beschreibung wie beispielhaft in Javascript, eine beliebige Zahl in ein anderes Zahlensystem konvertiert werden kann.

Folgender Javascript-Code, rechnet eine Zahl in ein beliebiges Zahlensystem bzw. Stellenwertsystem um. Ist das Zahlensystem größer dem Hexadezimalsystem, muss die Funktion replaceNrByHex(nr) entsprechend noch erweitert werden.

function convertByPlaceValueNotation(nr, pvn) {
    retStr = "";
    restAry = new Array();

    while(nr>0) {
        restAry.push(nr % pvn);
        nr = parseInt(nr / pvn);
    }

    for(var i=restAry.length-1; i>=0; i--) {
        retStr += replaceNrByHex(restAry[i]);
    }

    return (retStr=="" ? "0" : retStr);
}

function replaceNrByHex(nr) {
    switch(nr) {
        case 10:
            return "A";

        case 11:
            return "B";

        case 12:
            return "C";

        case 13:
            return "D";

        case 14:
            return "E";

        case 15:
            return "F";

        default:
            return nr;
    }
}

Mögliche Aufrufe sind dann z.B.:

// Rechnet die Zahl 542 in das Dualsystem um
convertByPlaceValueNotation(452, 2);

// Rechnet die Zahl 16 in das Oktalsystem um
convertByPlaceValueNotation(16, 8);

// Rechnet die Zahl 78 in das Hexadezimalsystem um
convertByPlaceValueNotation(78, 16);

// Rechnet die Zahl 42 in das fiktive Zahlensystem mit der Basis 13 um
convertByPlaceValueNotation(42,13);

Zu beachten ist, dass es sich bei der Rückgabe um einen String handelt.

Für weitere Informationen und Beispiele ist die Seite Umrechnung von Zahlensystemen auf arndt-bruenner.de zu empfehlen.

Share

Leave a Comment