Addierwerk



  • Hallo ich habe ein Problem und zwar komm ich mit dem Beispiel eines Addierwerks nicht weiter.
    Ich soll in einem Addierwerk binär 100 mit 10 addieren.

    Ich weiß aber nicht wo ich anfangen soll
    In der Skizze wird auch nur ein 4-Bit Addierwerk gezeigt, aber 100 in Dualzahlen sind schon 7 Bit.

    Vielleicht hat schon jemand Erfahrungen mit dem Addierwerk gehabt und kann mir helfen.

    Ich habe mal die Grafikdatei hochgeladen um die Skizze zu zeigen.
    http://s14.directupload.net/file/d/3060/gfjw9wku_jpg.htm



  • Dann addiere doch mal 5 und 3.

    Wenn du das kannst, kannst du auch 500 und 3000000 addieren 🙂
    Und wenn du eine konkrete Frage hast, dann stell sie einfach.



  • Dieser Thread wurde von Moderator/in nman aus dem Forum Themen rund um die IT in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ich weiß einfach nicht wo ich anfangen soll zu fragen.
    Ich hab schon das Beispiel auf Wiki probiert, aber ich komm nicht drauf(dort war es 13+11).
    Es gibt auch kein Beispiel bei der Aufgabe wie ich es überhaupt machen soll.
    Google wirft leider auch keine brauchbaren Ergebnisse raus.

    Ich soll es Schritt für Schritt dokumentieren wie ich die 100 + 10 addiere.



  • Wieweit verstehst du denn das Beispiel von Wikipedia (es geht schon um das hier? http://de.wikipedia.org/wiki/Addierer#Von-Neumann-Addierwerk)

    Also welchen der Schritte 1-4, bzw von welcher in welche Zeile der Tabelle steigst du aus?



  • Schon bei dem ersten Schritt steig ich aus.
    Ich versteh nicht wwarum beim 2 Schritt aufeinmal auf der P Seite 2 und auf der A Seite 22 sind.
    Leider habe ich auch das Problem das ich 3 Volladdierer und ein Halbaddierer in meiner Aufgabe habe und nicht wie auf Wiki 4 Halbaddierer 😞


  • Mod

    RealFeejay schrieb:

    Schon bei dem ersten Schritt steig ich aus.
    Ich versteh nicht wwarum beim 2 Schritt aufeinmal auf der P Seite 2 und auf der A Seite 22 sind.

    Register A mit Summen ohne Übertrag laden, in P Überträge laden

    Also

    1101
    +1011
    

    Wie in der Grundschule:
    Letzte Stelle: 1+1=10, also 0 mit Übertrag 1. Daher bekommt A an letzter Stelle eine 0 und P an vorletzter Stelle eine 1. Die letzte Stelle von P ist per Konstruktion 0.

    P     A
    ??10  ???0
    

    Vorletzte Stelle: 0+1=1. Daher bekommt A an vorletzter Stelle eine 1 und P an drittletzter Stelle den Übertag, also eine 0:

    P     A
    ?010  ??10
    

    Zweite Stelle: 1+0=1. Siehe oben.

    P     A
    0010  ?110
    

    Erste Stelle: 1+1=10: Daher ist die erste Stelle von A eine 1 und wir bekommen noch einen Überlauf von 1, der in U gespeichert wird. Da P insgesamt ungleich 0 ist, ist S!=0 und wir müssen noch einmal mit den neuen Werten von vorne weiter machen.

    U   P     A
    1 0010  0110
    

    Erster Durchlauf komplett.

    Wir sehen auch, dass wir gar nicht wie in der Grundschule von rechts nach links hätten addieren müssen, sondern dass die Reihenfolge beliebig war. Daher kann das Addierwerk auch parallel arbeiten, da wir alle Rechnungen unabhängig durchführen konnten.



  • Also ich versteh es immer noch nicht.
    Ich habe den ganzen Tag rumprobiert und werde nicht schlau daraus.
    Bei mir kommt anstatt 110 62 heraus wenn ich es wie im Beispiel mache.
    Seppj kannst du mir villeicht die 110 kurz durchrechnen, wenn du so lieb wärst 🙄


  • Mod

    RealFeejay schrieb:

    Seppj kannst du mir villeicht die 110 kurz durchrechnen, wenn du so lieb wärst 🙄

    😕 Habe ich doch oben.

    1101
    XOR
    1011
    =
    0110
    

    Warum habe ich hier (effektiv) XOR benutzt? Weil wir das Ergebnis einer stellenweisen Addition haben wollen und die Überläufe verwerfen. Also 0+0=0, 1+0=1, 0+1=1 und 1+1=0.

    Vielleicht mal ein Beispiel im Dezimalsystem:
     1357
    +5982
    Nach der Methode ist das:
      A     P
     1357 5982
    Erste Runde, addiere stellenweise A und P, schreibe Ergebnis ohne Überlauf in P und Überläufe in A:
      A     P
     1100 6239
    A enthält noch Überläufe, daher zweite Runde:
      A     P
     0000 7339
    A ist leer, fertig. Hole Taschenrechner raus: 1357+5982=7339. Tadaa! Passt!
    

    Das habe ich in der ersten Runde gemacht:
    2+7=9 -> 9 wird vierte Ziffer des neuen P, kein Übertrag für dritte Stelle des neuen A
    5+8=13 -> 3 wird dritte Ziffer des neuen P, schreibe Übertrag 1 in das neue A an zweiter Stelle
    3+9=12 -> 2 wird zweite Ziffer von P, Übertrag 1 an erste Stelle von A
    1+5=6 -> 6 wird erste Ziffer von P, kein Übertrag.

    Zweite Runde äquivalent.

    Noch Fragen?



  • Ohh sorry mein Fehler ich meinte 100 + 10 in dezimalschreibweise.
    In Dualzahlen wäre es 1100100 (100) + 1010 (10).

    Aber vielen dank.
    Ich glaube gerade ich habe es verstanden und es war nicht schwer.
    Sorry für meine Frage aber in meinem Heft wird dort kein Beispiel gezeigt 🙄



  • RealFeejay schrieb:

    Ohh sorry mein Fehler ich meinte 100 + 10 in dezimalschreibweise.

    Zeig doch einfach wie weit du kommst. Wenn 100 zu hoch ist, dann probierst es wirklich mit 3 und 5.

    Wichtig ist, dass du deinen Gedankengang aufschreibst, damit man erkennen kann wo dir der Denkfehler passiert oder du in eine Ecke laeufst,etc.


Log in to reply