Carry-Lookahead-Addierer 2k-zahlen, Breite 3

Hallo!

Ich habe hier eine Aufgabe, bei der ich mit Hilfe von Standartgattern einen Carry-Lookahead-Addierer für zwei 2k-Zahlen der Breite 3 konstruieren soll.

Mein Problem ist, dass ich nicht weiß, was mit „2k-Zahlen der Breite 3“ gemeint ist.
Heißt dass, ich soll zwei Zahlen vom Typ „111“ addieren (hab jetzt nur die 1sen wegen der Breite, also 3 Stellen) angegeben, kann natürlich jede beliebige 3stellige Binärzahl sein.
Oder heißt dass, dass insgesamt nach dem Addieren, das Ergebnis 3 Stellen haben darf? Aber dann kann ich nur Zahlen mit 2 Stellen addieren.
Oder bedeutet „2k-Zahlen der Breite 3“ etwas ganz anderes?

Wer weiß dazu einen Rat?
Vielen Dank für Eure Hilfe.

Gruß, Ralf

Mein Problem ist, dass ich nicht weiß, was mit „2k-Zahlen der
Breite 3“ gemeint ist.

Hallo Ralf,

naturgemäss kann beim Addieren eine Stelle mehr entstehen, das ist dann eine Ausnahmesituation, aber zunächst ist ein 8bit-Addierer einer für 2 Zahlen mit 8 bit. Kommt bei der Addition mehr raus (z.B. als 255 bei 8 bit), so muss das durch ein gesetztes Carry-Bit (meinetwegen auch Overflow-Bit) angezeigt werden. Bei 3 bit:

110
011

001 und Overflow/Carry

Gruss Reinhard

naturgemäss kann beim Addieren eine Stelle mehr entstehen, das
ist dann eine Ausnahmesituation, aber zunächst ist ein
8bit-Addierer einer für 2 Zahlen mit 8 bit. Kommt bei der
Addition mehr raus (z.B. als 255 bei 8 bit), so muss das durch
ein gesetztes Carry-Bit (meinetwegen auch Overflow-Bit)
angezeigt werden. Bei 3 bit:

110
011

001 und Overflow/Carry

Hallo,

werden die Zahlen als 2er-Komplement interpretiert, so kann kein Überlauf wie beschrieben auftreten, weil es sich bei zahlen mit MSB=1 um negative Werte handelt:

110 (-2)
011 (+3)

001 (+1)

Dafür tritt u.U. ein Überlauf aus MSB-1 auf:

011 (+3)
010 (+2)

101 (-3) !!!

Der Programmierer muss entscheiden, ob er so eine falsche Operation (2 pos. Summanden, Ergebnis negativ) erkennen und bearbeiten will.

Gruss Reinhard