|
Hallo,
könnet mir evtl. jemand den Unterschied zwischen Übertrag und Überlauf erklären? Und vor allem, wann denn ein Überlauf beim 2er-Komplement vorliegt und wann nicht. Wäre super!
Danke schon mal :-)
Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
|
|
Hallo,
google mal carry and overflow flag.
Gruß
Stephan
|
|
Ähm danke, aber auf die Idee zu googeln bin ich auch schon so gekommen und wenn ich mir sicher wäre, es durch irgendwelche Seiten richtig verstanden zu haben, dann würde ich hier nicht fragen...
Wäre also nett, wenn mir evtl jmnd. meine Frage beantworten könnte
Ich verstehe es derzeit so, dass ein Overflow einfach bedeutet, dass 8 Bit nicht ausreichen, um die Zahl darzustellen. Wenn zwei negative zahlen subtrahiert werden, kommt es nie zum Overflow, wenn addiert dann schon (nur manchmal, oder immer?)
Übertrag sind die 1en die ich, wenn ich das 2er-Komplement mache, in die "dritte" Zeile zwischen den Zahlen, die berechnet werden und dem ergebnis, schreibe bzw. anmerke. Wie beim Grundschuladdieren.
Aber es kann doch gleichzeitig einen Überlauf und Übertrag geben, oder? In meinem Skript steht nämlich ein Satz, den ich komisch finden: "Im Gegensatz zu dem Übertrag, bei dem die Länge der Operanden ausreicht, um das Ergebnis darzustellen, spricht man von einem Überlauf, wenn die Operandenlänge nicht mehr ausreicht, um den Wert der Zahl noch darzustellen." Ich finde das klingt, als ob beides gleichzeitig nicht möglich ist. Und dass es sozusagen dasselbe ist, nur wenn die Operandenlänge ausreicht heißt es Übertrag und wenn nicht Überlauf ?
Das wieder spricht aber irgendwie dem, wie ich es verstanden habe.
|
|
Einen Übetragsbit ist erforderlich, wenn Du Zahlen aus mehreren Bytes zusammensetzt. Ähnlich wie in einer dezimalen Addition . Hier rechnest Du Übertrag Übertrag . Überlauf wäre es, wenn Du Zahl aus 4 Byte zusammensetzt und beim höchsten ein Übertrag entsteht, da Du dann ein nicht vorhandenes fünftes Byte benötigen würdest.
|
|
Vielen lieben Dank für die Antwort!
Mhh okay, dann habe ich es ja eig. verstanden . was mich nur immer noch verwirrt, ist, was ich oben geschrieben habe und, dass im Skript . folgendes Beispiel gegeben ist:
Übertrag weglassen und Rücktransformation: Kippen: 1 Addieren:
Wenn ich das nun Nachrechne, komme ich auf einen Übertrag an den Stellen und 4. Und ich wundere mich, warum da "Übertrag weglassen" steht. Wie ich es versteh, ist diese zusätzliche neunte Bit doch ein Überlauf?
|
|
Gängigerweise addieren Prozessoren nicht bitweise sondern byteweise oder in noch größerem Paket. Ein Übertrag entsteht somit nur am Ende dieses Pakets, bei euch vermutlich signed Byte, Die inneren Überträge siehst Du somit nicht.
|
|
Ich glaube, ich habe es jetzt verstanden:
- Bsp Übertrag - Bsp Überlauf - Bsp Übertrag
Also bei zwei negativen Zahlen kann ein Überlauf auftreten. Beim Addieren einer positiven und einer negative Zahl nicht. Und bei zwei positiven Zahlen gibt es weder einen Überlauf noch einen Übertrag.
Ist das richtig?
|
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.
|