Physik
Von: Anonym (abgemeldet), 18.3.2000 19:16 Uhr
Hallo Experten,
weiter unten wurde ja bereits erwähnt, das es verschiedene Zahlensysteme gibt, die z. B. auf 10, 16, 60, 2 oder auch 20 beruhen.
Meine Frage: Gibt es eine Formel mit der man die eizelnen Zahlensysteme ineinander umrechnen kann? Eine für normale Bürger verständliche?
Ich weiss bereits, wie ich eine Zahl aus einem anderen System ins Dezimalsystem umrechne, aber umgekehrt oder sogar eine Binärzahl direkt in Hexadezimal umzurechnen, bereitet mir noch Probleme.

Danke!

mfg
Martin



  1. Antwort von Floh 0
    Re: Umrechnung verschiedener Zahlensysteme
    Hallo Martin! ... oder sogar eine
    Binärzahl direkt in Hexadezimal
    umzurechnen, bereitet mir noch Probleme.
    Genau das ist eine der leichtesten Übungen!

    Du mußt die Binärzahl nur von rechts her in Vierergruppen zusammenfassen. Jeder diese Vierergruppen weist Du dann Ihren Hex-Wert zu, indem Du aus der vierstelligen Binärzahl eine Dezimalzahl machst. Dabei ist zu beachten, daß Zahlen 10 bis 15 in die Buchstaben A bis F umgewandelt werden.
    Ich glaub, daß ein Beispiel das am besten verdeutlicht.

    Binär 1110101111
    in Vierergruppen 11 1010 1111
    Dezimal 3 10 15
    Hexadezimal 3 A F

    1110101011 (binär) entspricht also 3AF (hex)

    Ich hoffe, daß das einigermaßen verständlich war, ansonsten bin ich gern nochmal behilflich.

    Viele Grüße

    Floh
    2 Kommentare
    • von Anonym (abgemeldet) 1
      Re^2: Umrechnung verschiedener Zahlensysteme
      Danke, ich schätze ich habe alles verstanden.
      Der Vollständigkeit halber:
      Ich vermute, man kann diese Formel auch auf andere Zahlensysteme anwenden, z. B. die auf 20 basieren, oder auf 6.
      Der "Umweg" übers Hexadezimalsystem ist deshalb, weil Menschen unserer Zivilisation leichter damit rechnen können.

      Nochmals danke, korrigiere mich, wenns falsch ist.

      mfg
      Martin
    • von Anonym (abgemeldet) 0
      Re^3: Umrechnung verschiedener Zahlensysteme
      Ich vermute, man kann diese Formel auch
      auf andere Zahlensysteme anwenden, z. B.
      die auf 20 basieren, oder auf 6.
      Der "Umweg" übers Hexadezimalsystem ist
      deshalb, weil Menschen unserer
      Zivilisation leichter damit rechnen
      können.

      Nochmals danke, korrigiere mich, wenns
      falsch ist.

      mfg
      Martin
      Leider nein, so einfach geht es nur, weil 16 selber die vierte Potenz von 2 ist.
      Ebenfalls noch leicht wäre die umrechnung von binär auf die zahlensysteme mit der basis 4 = 2^2 (mit zweiergruppen) 8 = 2^3 mit dreiergruppen, 32 = 2^5 (mit fünfergruppen) etc..

      Der Umweg über das Hexadezimalsystem beim Programmieren ist wirklich deswegen, weil die vielen Einser und Nullen unüberschauhbar werden, für Menschen aus allen Zivilisationen.
      Markus
  2. Antwort von Anonym (abgemeldet) 0
    Re: Umrechnung verschiedener Zahlensysteme
    Bleibt also noch das "umgekehrt" offen: Der Schritt vom Dezimalsystem in ein beliebiges anderes Zahlensystem mit der Basis a:

    Mit Formel kann ich nicht dienen, aber ein Verfahren gibt es:

    Schritt 1: Zunächst einmal benötigt man a Ziffern. Das ist noch kein Problem, wenn die Basis kleiner als 10 ist (z.B. 7), dann läßt man einfach ein paar der üblichen weg (im Beispiel benötigt man nur 0-6 - 7 schreibt sich dann ja 10 - also entfällt 7,8,9. Wenn die Basis größer wird als 10, muß man neue Ziffern erfinden. Dazu benutzt man zunächst die Buchstaben, damit schafft man es bis 36. Wie es dann offiziell weitergeht, weiß ich selber nicht, aber mit Kleinbuchstaben schafft man es bis 62, womit wir auch das System zur Basis 60 in der Antwort drin haben.

    Schritt 2: Man ermittelt die höchste Potenz der Basis a, die noch in der umzuwandelnden Dezimalzahl enthalten ist. Dazu macht man sich am besten in Excel eine entsprechende Reihe. Beispiel 654321 zur Basis 15:
    15^0 = 1
    15^1 = 15
    15^2 = 225
    15^3 = 3375
    15^4 = 50625
    15^5 = 759375
    50625 ist die höchste enthaltene Potenz. 759375 ist bereits größer als 654321.

    Schritt 3: Jetzt dividiert man durch die höchste enthaltene Potenz und bestimmt den Rest. Den Rest dividiert man durch die nächstkleiner Potenz und so weiter. Also
    654321:50625 = 12 Rest: 46821
    46821:3375 = 13 Rest: 2946
    2946:225 = 13 Rest: 21
    21:15 = 1 Rest: 6
    (6:1 = 6 Rest: 0)
    Geht auch wieder sehr leicht, wenn man Excel hernimmt.

    Schritt 4: Prinzipiell hätten wir jetzt das Ergebnis schon, nämlich im Beispiel:
    654321 = 12*15^4+13*15^3+13*15^2+1*15^1+6*15^0
    Wir müssen nur noch in eine Ziffernfolge umwandeln, dabei ist 12 dann C und 13 D.
    Wir erhalten die (ich nehme an Pentadezimal-)Zahl CBB16.

    Markus