Dezimalzahl zu Dualzahl mit Komma



  • Guten Tag,

    in der Schule nehmen wir momentan die Zahlensysteme durch. Damit komme ich auch recht gut zurecht, aber der Lehrer bringt uns momentan sogar Dualzahlen mit Komma bei, was ich so noch nie gebraucht oder gesehen habe.
    Er hatte uns gestern die Aufgabe gegeben, rum zu probieren, wie man die Dezimalzahl 132,2 in eine Dualzahl rechnet.
    Ich weiß wie man eine Dezimalzahl ohne Komma in eine Dualzahl rechnet.

    132 : 2 = 66    R 0
    66  : 2 = 33    R 0
    33  : 2 = 16    R 1
    16  : 2 = 8     R 0
    8   : 2 = 4     R 0
    4   : 2 = 2     R 0
    2   : 2 = 1     R 0
    1   : 2 = 0     R 1
    

    Als Ergebnis habe ich dann die Dualzahl 10000100. Wie wir das aber mit Komma jetzt machen, hat er uns nicht gesagt.
    Ich habe mich im Internet erkundigt, wie man es rechnen könnte. Dabei habe ich nur ein brauchbares Video gefunden, bei dem aber der Logarithmus verwendet wird, den wir aber noch nicht behandelt haben. Ansonsten gab es auch nur Seiten, bei denen es ohne Komma erklärt wird, da es scheinbar unüblich ist. Auch die Rechner, inklusive den wissenschaftlichen Windows-Taschenrechner, bieten nur Rechnungen ohne Komma an.
    Ich wäre dankbar für Hilfe.

    Mit freundlichen Grüßen,
    Freaky



  • Stell dir die Kommabits wie folgt vor: Jedes Bit steht für 1 / (2 ^ n). Also 1/2, 1/4, 1/8, 1/16, ...
    Das ist auch einer der Gründe, warum man Kommazahlen nicht exakt speichern kann. Der Bruch 2/3 z.B. lässt sich durch 1/2, 1/4, ... nicht exakt darstellen.



  • Ich versuche mal zu Antworten ohne die Lösung direkt zu geben.

    Du kannst also Ganzzahlen umrechnen, dann rechne doch eine Ganzzahl um und verschiebe dann das Komma.
    Versuche zuerst mal etwas wie 5.75 umzurechnen, dann solltest du sehen wie es geht.
    Etwas detaillierter: Mit was musst du 5.75 multiplizieren, dass es im binaersystem eine Ganzzahl ist? Dann kannst du im Zehnersystem mit dieser Zahl multiplizieren und die resultierende Ganzzahl normal ins Binärsystem uebertragen. Dort musst du dann nur noch das Komma verschieben.



  • Um aus 5,75 eine Ganzzahl zu machen, müsste ich sie mit 4 multiplizieren. Dann würde ich 23 rausbekommen, oder in dual 10111. Wenn ich dann das Komma verschieben würde, bekäme ich 101,11 raus. Da die 11 aber für dezimal 3 steht, vermute ich, dass es falsch ist.



  • Nein, das ist korrekt 🙂
    Du kannst auch sagen, dass die erste stelle 1/2, die zweite 1/4 ist. 1/2 + 1/4 = 0.75 😉



  • FreakY<3Cpp schrieb:

    Um aus 5,75 eine Ganzzahl zu machen, müsste ich sie mit 4 multiplizieren. Dann würde ich 23 rausbekommen, oder in dual 10111. Wenn ich dann das Komma verschieben würde, bekäme ich 101,11 raus.

    Bis dahin sieht's stimmig aus.

    Da die 11 aber für dezimal 3 steht, vermute ich, dass es falsch ist.

    Und wo ist jetzt das Problem? Du mußt bei deiner Vermutung noch die Stellenwerte berücksichtigen - und da 3/4==0,75 ist, ist doch alles in Ordnung 😉



  • Ah okay, ergibt Sinn.
    Aber mit 132,2 habe ich jetzt mein Problem.
    132,2 muss ich mit 5 multiplizieren, dass ergibt 661.
    Bei 5,75 konnte ich die 5 noch mit 101 bei 10111 erkennen,
    da aber
    132 = 10000100
    661 = 1010010101
    ergibt, wüsste ich jetzt nicht weiter.
    Scheinbar übersehe ich etwas.



  • 0,2 kannst du nicht exakt als Binärzahl darstellen (aus den selben Gründen, warum du 1/3 nicht exakt als Dezimalzahl aufschreiben kannst). Das ergibt einen periodischen Wert.
    Der Ansatz dazu ist, so oft mit 2 zu multiplizieren, bis sich die Zahlen wiederholen:
    0,2 * 2 = 0,4 -> 0
    0,4 * 2 = 0,8 -> 0
    0,8 * 2 = 1,6 -> 1 => 0,6
    0,6 * 2 = 1,2 -> 1 => 0,2

    -> 0,2 = 0,(0011)2 (der Teil in Klammern ist die Periode)



  • Also ist das Ergebnis von
    132,210 = 10000100,00112?
    Okay gut, dann habe ich es jetzt verstanden.
    Danke für eure Hilfe. 👍



  • FreakY<3Cpp schrieb:

    Also ist das Ergebnis von
    132,210 = 10000100,00112?

    Wenn du jetzt noch unendlich oft die Folge 0011 ans Ende hängst, stimmt es 😉



  • Gut, oder ich schreib es in Klammern wie du meintest, wenn ich das richtig verstanden habe. 🙂



  • 0,2 = 0,p00112 (ab p die Periode)

    0,2
    = 1/5
    = 0012/1012
    = 00102/10102
    = 00112/11112
    //geschafft, irgendwann kommt als Nenner eine um 1 verminderte Zweierpotenz
    //Und dann ist der Zähler die Periode.
    = 0,p00112

    Test:
    0,p00112 * 1012
    = 0,p00112 * 1002 + 0,p00112 * 12
    = 0,p11002 + 0,p00112
    = 0,p11112 = 0,p12 = 12


Anmelden zum Antworten