40 Gold Logo

Arianes Zahlenwunder

Arianes Zahlenwunder
Am 4. Juni 1996 hob die unbemannte Trägerrakete Ariane 5 vom Weltraumbahnhof ab.

Sie sollte mehrere Satelliten in den Erdorbit transportieren.

37 Sekunden nach dem Start änderte sie plötzlich ihren Kurs.
Sie flog nun horizontal und drohte abzustürzen.

Da der Kurs nicht mehr korrigiert werden konnte, wurde automatisch die Selbstzerstörung eingeleitet.

Knapp 40 Sekunden nach ihrem Start ging die Ariane 5 in Flammen auf.

Ein Verlust von 500 Millionen US-Dollar.

Eine einzige Codezeile im System der Ariane war der Auslöser dafür!

Kommentare

Schreib auch du einen Kommentar
 
mike1 Gestern, 17:33
Ein Rechner verwendet intern Bits für Zahlenwerte.

Ein Bit ist eine einzelne Ziffer und ist die kleinste Informationseinheit.
Die nächst höhere Informationseinheit ist ein Byte, also eine Folge von 8 Bits.

Um Daten/Zahlen auf einem Computer zu verarbeiten/speichern, müssen sie zunächst binär codiert werden.
Also in eine Folge von 0 und 1 umgewandelt werden.

Für eine Zahl wird auf dem Rechner Speicherplatz in der Größe von ein oder mehreren Bytes reserviert.

Da nicht jede Binärzahl gleich viele Stellen hat, wird pro Zahl ein Datentyp festgelegt.
Dieser Datentyp legt die Anzahl an zur Verfügung stehenden Bytes fest.
 
mike1 Gestern, 17:34
Es kommt immer wieder vor, dass ein Datentyp in einen anderen konvertiert werden muss.

Früher, als Speicherplatz noch sehr rar war,  wurden im Programmcode Zahlen, die in einem zu großen Datentyp gespeichert waren, in einen kleineren konvertiert.

Dabei kam es häufig zu Fehlern.
Nämlich dann, wenn die konvertierte Zahl nicht korrekt in dem kleineren Datentyp darstellbar ist.

Vor der Konvertierung sollte daher immer überprüft werden, ob die konvertierende Zahl im Wertebereich des Zieldatentyps ist.
Nur dann darf konvertiert werden.
 
mike1 Gestern, 17:35
Kurz nach dem Start der Ariane 5 wurde im Softwarecode eines wichtigen Messsystems (SRI) eine Konvertierung vorgenommen.

Eine Zahl mit 8 Bytes/64 Bit Speicherplatz wurde in eine solche mit 2 Bytes/16 Bit Speicherplatz konvertiert.

Aber ohne vorherige Fehlerprüfung!

Die konvertierte Zahl war viel zu groß, um mit nur 2Bytes/16 Bits korrekt dargestellt zu werden.

Die dadurch aufgetretene Exception markiert den Anfangspunkt einer Kettenreaktion, die in der Selbstzerstörung der Rakete mündete.

Die fehlerhafte Codezeile wurde einfach aus dem Code des Vorgängermodells Ariane 4 kopiert.

Der Rechenwert, der den Absturz auslöste, wurde zu dem Zeitpunkt außerdem gar nicht mehr benötigt!

 
mike1 Gestern, 17:43
Rechner halten nicht viel vom Subtrahieren (Minusrechnen).

Sie addieren viel lieber.

Auch Schulkinder tun sich laut Aussagen von Mathelehrern schwerer mit dem Minusrechnen.

Minuend und Subtrahend untereinander schreiben und dann die Überträge merken und abziehen ...
Kompliziert und unbequem.

Dann lieber wie ein schlauer Rechner addieren.

Addiere mit dem sog. "Neunerkomplement".

Einen Übertrag ganz links wegschmeißen.

Und nochmal 1 hinzuaddieren.

Fertig!

Das Neunerkomplement muss natürlich berechnet werden: 999 minus 346 = 653

468 minus 346?
468 + (999-346) = 468 + 653 = 1121 = 121 + 1 = 122
weiße KroneJetzt kostenlos registrieren