Basics Binär nach Dezimal

  • Ich weiss, wie ich als Mensch mit Stift und Papier eine Binärzahl in eine Dezimalzahl umwandle.

    Soweit, so gut. Ein Positionssystem zur Basis 2. Easy.

    Jetzt habe ich aber einen Algorithmus gefunden*, der zwar funktioniert, ich aber nicht verstehe, warum er funktioniert.



    Warum funktioniert das Ganze verdammt nochmal? Gibt es eine Umformung, die es auf die erste Berechnung zurückführt?

    (* den Pseudocode habe ich aus einem längeren Beispiel einer Hex nach BCD Umwandlung extrahiert)

  • Schaue Dir Deine Lösung an und vergleiche die mit der unteren. Wenn Du eine 2 in Deiner Lösung ausklammerst, was passiert?

    usw. man klammert immer ein 2 aus bis alle Glieder unterteilt sind und man bekommt exakt die zweite Lösung, also das was im inneren Glied mal 2 addiert mit dem Äußeren Glied.


    Diese Eigenschaft der Binären Zahlen nutzt man oft aus bei Multiplikation mit der zweier Potenz. Es heißt SHIFT. So ein SHIFT ein Mal nach links (<<) bedeutet Multiplikation mit 2, nach rechts (>>), Division durch zwei. Also:


    Code
    2 * 2 = 2 * 2^1 = 2 << 1 = 4 (oder binär 10 << 1 = 100)
    2 * 8 = 2 * 2^3 = 2 << 3 = 16 (oder binär 10 << 3 = 10000)
    16 / 4 = 16 / 2^2 = 16 >> 2 = 4 (oder binär 10000 >> 2 = 00100) 

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!