kostenloser Webspace werbefrei: lima-city


Binäre Subtraktion / 2er Komplement

lima-cityForumSonstigesSchule, Uni und Ausbildung

  1. Autor dieses Themas

    myhead

    myhead hat kostenlosen Webspace.

    Hey,

    ich habe mit folgender Aufgabe ein Problem:
    9
    -100 (-91 als Ergebnis)


    Das ganze Dual:

    0 0 1 0 0 1 = 9
    0 1 1 0 0 1 0 0 = 100

    0 0 0 1 0 0 1
    - 1 1 0 0 1 0 0

    -> invertieren des Subtrahend (100) = 0 0 1 1 0 1 1 = (27?)
    -> addieren +1
    = 0 0 1 1 1 0 0 = (28?) = 2er Komplement

    0 0 0 1 0 0 1 (9)
    + 0 0 1 1 1 0 0 (28)
    1 0 0 1 0 1 (37) bzw. 5 da 1 Bit gleich Vorzeichen Bit.




    aber eigentlich müsste doch 91 (+1 Vorzeichen Bit = 1) rauskommen oder nicht?



    Beitrag zuletzt geändert: 30.4.2010 21:43:08 von myhead
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Es ist alles richtig, du interpretierst es falsch ;)

    0 1 0 0 1 0 1
    muss in eine negative Zahl umgewandelt werden, also -1:
    0 1 0 0 1 0 0
    Invertieren:
    1 0 1 1 0 1 1
    Und das ist 91 ;)
  4. Autor dieses Themas

    myhead

    myhead hat kostenlosen Webspace.

    danke, schonmal für die Antwort aber ich glaube ich habe gerade verstanden, das ich das 2er Komplement noch nicht wirklich verstanden habe xD

    nikic schrieb: Es ist alles richtig, du interpretierst es falsch ;)


    was genau meinst du jetzt mit interpretieren =)

    ...vllt. ist es im mom. auch einfach ein bisl. spät dafür, werds mir morgen nochmal anschauen. Trotzdem danke schonmal.

  5. spleensearcher

    spleensearcher hat kostenlosen Webspace.

    Hallo,

    ich würde es dir gern auch noch mal versuchen zu erklären.

    Du hast beide Zahlen, 9 und -100. Das Ergebnis soll -91 sein.

    0 0 0 0 1 0 0 1 (Bin) = 9(Dez)

    Die -100 muß für die Binäre Subtraktion (oder anders: die Addition mit einer negativen Zahl) umgerechnet werden (nennt sich auch: Einerkomplement bilden), wie du das schon richtig gemacht hast.

    0 1 1 0 0 1 0 0 = 100 (Dez)
    Als erstes müssen alle 0 mit 1 und alle 1 mit 0 ersetzt werden. Das Ergebnis wird dann mit +1 addiert und man erhält das 1-Komplement von +100, also -100.

    0 1 1 0 0 1 0 0 = +100(Dez)
    1 0 0 1 1 0 1 1 = (0,1 getauscht)
    +1 für 1-Komplement
    ----------------------------------------------------
    1 0 0 1 1 1 0 0 = entspricht also -100

    Nun addierst du die 9 mit der -100

    0 0 0 0 1 0 0 1 = 9
    1 0 0 1 1 1 0 0 = + (-) 100
    ---------------------------------------
    1 0 1 0 0 1 0 1 = Ergebnis

    Bei diesem Ergebnis muß du nochmals wie beim 1-Komplement die 0 und 1 vertauschen und anschließend +1 rechnen, damit du das korrekte 2-Komplement erhältst.

    1 0 1 0 0 1 0 1 = Ergebnis
    0 1 0 1 1 0 1 0 = 0 -> 1, 1 -> 0
    +1 für 2-Komplement
    ----------------------------------------------------
    0 1 0 1 1 0 1 1 = Komplementärzahl des Ergebnisses = 91 (Dez)

    Das ergibt in Dezimal wieder umgerechnet 91 und ist eine Kontrolle für dich.

    Um deine Verwirrung noch mal aufzulösen. Die Darstellung des Ergebnisses -> 1 0 1 0 0 1 0 1 (Dezimal 165) ist so schon korrekt. Das du nicht die -91 erhältst ist klar, da dies eben nur die Komplementärzahl der -91 darstellt. Dafür mußt du eben nochmals alle 0 und 1 miteinander vertauschen und +1 dazuaddieren. Dann kannst du es in Dezimal zurückrechnen und kontrollieren, ob es stimmt.

    Ich hoffe ich habe es nicht zu kompliziert erklärt.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!