Binäre Multiplikation



  • Hallo zusammen,

    ich habe einen 4 * 4 Bit Multiplizierer in Verilog geschrieben und zwar auf der Basis der schriftlichen Multiplikation. Diese ist ja eigentlich ziemlich einfach, aber irgendwie sehe ich gerade den Wald vor lauter Bäumen nicht mehr.

    Beispiel:

    0100 * 0010
    ___________
    ----0000
    -----0000
    ------0100
    -------0000
    ___________
    0001000

    Alles gut. Aber jetzt kommt der Stillstand bei mir:

    1111 * 1111
    ___________
    ----1111
    -----1111
    ------1111
    -------1111
    ___________
    ---10101001

    Das Ergebnis ist aber falsch. Kann mir jemand das Brett vorm Kopf lösen?
    Danke 😃

    LG, freakC++



  • freakC++ schrieb:

    Kann mir jemand das Brett vorm Kopf lösen?

    Den Vorschlaghammer schwing, aushol ... uuuuuuuuuuuund ... 😃
    Okay, es geht auch sanfter: addiere jeweils nur zwei Zahlen, zum Ergebnis nimmst du dann die nächste Zahl, usw, usf.



  • Du kannst scheinbar nicht addieren.

    Kennst du den double-and-add-Algorithmus? Auch bekannt als Bauernmultiplikation?



  • freakC++ schrieb:

    Alles gut. Aber jetzt kommt der Stillstand bei mir:

    1111 * 1111
    ___________
    ----1111
    -----1111
    ------1111
    -------1111
    ___________
    ---10101001

    Das Ergebnis ist aber falsch. Kann mir jemand das Brett vorm Kopf lösen?
    Danke 😃

    Du hast falacfh addiert.

    1111 * 1111
    ___________
    ----1111
    -----1111
    ------1111
    -------1111
    ___________
    ---11100001
    


  • mr. binary schrieb:

    Den Vorschlaghammer schwing, aushol ... uuuuuuuuuuuund ... 😃

    danke 😃

    krümelkacker schrieb:

    Du kannst scheinbar nicht addieren.

    Korrekt! Ich habe einfach stets mit einem Carry gerechnet und die anderen gar nicht beachtet.

    krümelkacker schrieb:

    Kennst du den double-and-add-Algorithmus? Auch bekannt als Bauernmultiplikation?

    Nein!

    Jetzt funktioniert mein Multiplizierer. Vielen Dank und viele Grüße
    freakC++


Anmelden zum Antworten