Überlauf: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „Ein '''Überlauf''' ist ein Phenomän, welches in arithmetischen Schaltungen, wie die der Recheneinheit eines Computers, auftreten kann. Er geschieht immer dan…“)
 
 
Zeile 1: Zeile 1:
Ein '''Überlauf''' ist ein Phenomän, welches in arithmetischen Schaltungen, wie die der Recheneinheit eines Computers, auftreten kann. Er geschieht immer dann, wenn durch eine arithmetische Operation der Zahlenbereich eines Datentyps überschritten wird. Die [[Binärrepresentation]] der Zahl zeigt dabei ein falsches Ergebnis an.
+
Ein '''Überlauf''' oder '''Übertrag''' ist ein Phänomen, das in arithmetischen Schaltungen, wie die der Recheneinheit eines Computers, auftreten kann. Es tritt immer dann auf, wenn durch eine arithmetische Operation der Wertebereich eines [[Datentyp|Datentyps]] überschritten wird. Die [[Dezimal- und Binärsystem|Binärrepräsentation]] der Zahl zeigt dadurch ein falsches Ergebnis an.
  
 
= Auftreten =
 
= Auftreten =
  
Als Beispiel gegeben seien hier zwei Zahlen, repräsentiert durch ein einzelnes, nicht vorzeichenbehaftetes [[Byte]], gegeben:
+
Als Beispiel seien hier zwei Zahlen, repräsentiert durch ein einzelnes, nicht vorzeichenbehaftetes [[Byte (Bitfolge)]], gegeben:
  
 
  1101 1111
 
  1101 1111
Zeile 16: Zeile 16:
 
   1 0000 0111 (263)
 
   1 0000 0111 (263)
  
Diese Zahl kann jedoch nicht mehr durch ein Byte repräsentiert werden, weswegen eine Maschine, die dieses Ergebnis berechnet, nur die letzten 8 Bits als Ergebnis abspeichert. Das Ergebnis der Berechnung ist also '''7''' anstatt '''263'''.
+
Diese Zahl kann jedoch nicht mehr durch ein Byte repräsentiert werden, da sie aus neun [[Bit]]s besteht. Daher speichert eine Maschine, die dieses Ergebnis berechnet, nur die letzten acht Bits als Ergebnis ab. Das Ergebnis der Berechnung ist also '''7''' anstatt '''263'''.
Das auftreten eines Übertrags in einem Bit, welches nicht mehr durch den vorgegebenen Datentyp repräsentiert werden kann, nennt man einen '''Überlauf'''. Die Werte der Berechnung "laufen über" und beginnen wieder bei der kleinsten repräsentierten Zahl.
+
Das Auftreten eines Übertrags in einem Bit, das nicht mehr durch den vorgegebenen Datentyp repräsentiert werden kann, nennt man einen '''Überlauf'''.
  
Dieses Phenomän tritt auch auf, wenn man zwei vorzeichenbehaftete Zahlen miteinander addiert. Die obere Berechnung wäre im Zweierkomplement also die Addition von -33 und 40. In diesem Fall sorgt der Übertrag (Überlauf) des 8. Bits für die korrekte Berechnung (ein Vorteil des Zweierkomplements bei der Addition einer positiven Zahl auf eine negative Zahl).
+
==Zweierkomplement==
 +
 
 +
Dieses Phänomen tritt auch auf, wenn man zwei vorzeichenbehaftete Zahlen miteinander addiert. Die obere Berechnung wäre im [[Zweierkomplement]] also die Addition von -33 und 40. In diesem Fall sorgt der Übertrag des achten Bits für die korrekte Berechnung (ein Vorteil des Zweierkomplements bei der Addition einer positiven Zahl mit einer negativen Zahl).
  
 
Problematisch wird die Addition (egal in welcher Zahlendarstellung) zweier positiver Zahlen:
 
Problematisch wird die Addition (egal in welcher Zahlendarstellung) zweier positiver Zahlen:

Aktuelle Version vom 16. Mai 2016, 00:08 Uhr

Ein Überlauf oder Übertrag ist ein Phänomen, das in arithmetischen Schaltungen, wie die der Recheneinheit eines Computers, auftreten kann. Es tritt immer dann auf, wenn durch eine arithmetische Operation der Wertebereich eines Datentyps überschritten wird. Die Binärrepräsentation der Zahl zeigt dadurch ein falsches Ergebnis an.

Auftreten

Als Beispiel seien hier zwei Zahlen, repräsentiert durch ein einzelnes, nicht vorzeichenbehaftetes Byte (Bitfolge), gegeben:

1101 1111
0010 1000

Addiert man diese beiden Zahlen mithilfe schriftlicher Addition, so erhält man folgende Werte (Mit Ü als Übertrag):

    1101 1111 (223)
+   0010 1000 ( 40)
Ü 1 1111 0000
-------------
  1 0000 0111 (263)

Diese Zahl kann jedoch nicht mehr durch ein Byte repräsentiert werden, da sie aus neun Bits besteht. Daher speichert eine Maschine, die dieses Ergebnis berechnet, nur die letzten acht Bits als Ergebnis ab. Das Ergebnis der Berechnung ist also 7 anstatt 263. Das Auftreten eines Übertrags in einem Bit, das nicht mehr durch den vorgegebenen Datentyp repräsentiert werden kann, nennt man einen Überlauf.

Zweierkomplement

Dieses Phänomen tritt auch auf, wenn man zwei vorzeichenbehaftete Zahlen miteinander addiert. Die obere Berechnung wäre im Zweierkomplement also die Addition von -33 und 40. In diesem Fall sorgt der Übertrag des achten Bits für die korrekte Berechnung (ein Vorteil des Zweierkomplements bei der Addition einer positiven Zahl mit einer negativen Zahl).

Problematisch wird die Addition (egal in welcher Zahlendarstellung) zweier positiver Zahlen:

    0101 1101 ( 93)
+   0110 1010 (106)
Ü   1111 0000
-------------
    1100 0111 (-57)

In diesem Fall tritt ein Überlauf in den negativen Zahlenbereich der Darstellung auf. Anstatt eine große positive Zahl zu berechnen, liefert das Ergebnis (in der entsprechenden Zahlendarstellung) eine negative Zahl.