Frage

Ist es möglich, zwei signierte 8-Bit-Zahlen addieren zusammen und stellen Sie die Carry und Überlaufbits?

War es hilfreich?

Lösung

Per Ihre Kommentare, Ihre Frage scheint zu sein, „ist es möglich, dass eine Ergänzung add die beiden sowohl Carry- und Überlaufgarnitur haben unterzeichnet Identifikationsnummer verwendet?“ Es ist. Die typische Implementierung ist die Exklusiv-ODER die Übertrags-Addierer für die letzten mit der Carry-Out am Ende der Kette aufzunehmen - also eine überfüllte Zugabe von negativen Zahlen wird die Übertragsausgang Bit verursacht Sets zu sein und das Überlauf-Bit gesetzt werden.

Hier ist ein Beispiel, fügen -1 bis -128:

Carry 10000 0000 
       1000 0000  (-128)
       1111 1111  (-1)
       ---------
       0111 1111 (oops, this is 127!)

Carry wird gesetzt, da der letzte Add in einem Übertrag geführt - und Überlauf oben auf der Grundlage der Regel eingestellt werden (auch zu beachten, dass -128 hinzugefügt -1 ist offensichtlich nicht 127)

Andere Tipps

Sie haben keinen Zugriff auf die Fahnen in C, auch wenn Sie der Compiler Code zu generieren bekommen konnte, die sie setzen, haben Sie keine Möglichkeit haben, sie zu nutzen.

Sie können Ihre eigene add-Routine in C schreiben, die für Carry und Überlauf-Flags zurück signierte 8-Bit-Operanden. Wenn Sie beziehen sich auf die Hardware Trag und Überlauf-Bits innerhalb der Prozessor, nein, das nicht portabel in C durchgeführt werden kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top