Grundlagen der Informatik: Digitale Informationen

Was ist ein Speicherüberlauf (Overflow)?

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Ist eine Zahl größer als der dafür vorgesehene Platz, kommt es zu unerwarteten Ergebnissen.

Transkript

Der Computer speichert alles in Nullen und Einsen und das abhängig von der Stelle innerhalb der Zahl. Eine 8-Bit-Zahl kann 256 Werte darstellen von der Zahl null bis zur Zahl 255. Was passiert aber, wenn ich einen 8-Bit-Container habe, aber zur 255 noch eine Eins dazu addiere? Dafür habe ich zu wenig Platz. Der Container läuft über und in der Computerwissenschaft nennt man das einen Overflow. Manche Overflows bringen einfach nur einen Fehler. Der Computer sagt: "Äh, Zahl zu groß, geht nicht." Manchmal, gerade in alten Programmiersprachen, passt der Computer aber nicht darauf auf und das Programm stürzt ab oder es kommt zu komischen Ergebnissen. Wenn wir dann die Zahl 255 binär haben, dann sind das ja acht Einsen nebeneinander. Und addiere ich jetzt eine Eins dazu, käme die neunte Stelle hinzu. Dann hätte ich eine Eins gefolgt von acht Nullen. Die Eins auf der neunten Stelle wird aber nicht gespeichert, also habe ich nur Nullen, was eben den Wert null repräsentiert. 255 plus eins ergibt in dem Fall dann null. Wir haben einen Overflow. Da spielt der Computer mal ziemlich verrückt. Dabei verhält er sich ja eigentlich komplett logisch, aber der Programmierer hüpft halt im Kreis. 186 plus 92 wird dann zu einer 22. Ein ähnliches Problem gab es in den 1990-Jahren zur Jahrtausendwende. Um Platz zu sparen, hatte man das Jahr früher mit nur zwei Stellen gespeichert. 1985 war schlicht 85 und die 19 wurde einfach angenommen. Jetzt waren diese alten Programme aber länger in Betrieb, als ursprünglich gedacht und das Jahr 00 ist eben dann nicht 1900 sondern 2000. Und bekannt wurde das Ganze dann als Jahr-2000-Problem. Umgehen kann man das nur, indem man alle vier Stellen des Jahres speichert. Bis zum Jahr 9999 sind wir jetzt also sicher. Wie geht der Computer überhaupt mit Datumsangaben um? Wie rechnet er damit? Die Monate haben ja unterschiedlich viele Tage und nicht jedes Jahr hat 365 Tage. Um mit Datumsangaben zu rechnen, speichert der Computer jedes Datum als Anzahl der Sekunden, die seit dem ersten Januar 1970 vergangen sind. Vergeht eine Minute, wird einfach eine 60 hinzuaddiert. Gespeichert werden diese Sekunden normalerweise in einer 32-Bit-Zahl mit Vorzeichen. Das Vorzeichen ist wichtig, weil man ja auch Datumsangaben vor 1970 darstellen will. Das Ganze geht noch circa 20 Jahre gut bis zum 19. Januar 2038. Wenn dann von hinten eine Eins nachgeschoben wird, dann ändert sich die erste Stelle von null auf eins und alle anderen Stellen werden zu null. Das heißt, eine Sekunde später in diesem 19. Januar 2038 hüpfen wir zurück auf den 13. Dezember 1901. Die Lösung hierfür lautet 64-Bit-Zahlen statt nur 32-Bit-. Sie sehen also, es gibt jede Menge Fallstricke und Kuriositäten in der Computerwissenschaft.

Grundlagen der Informatik: Digitale Informationen

Sehen und verstehen Sie das Binärsystem als Gundlage der Computertechnologie.

42 min (16 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!