5,4 min readPublished On: 16. Mai 2022By Tags: , , Categories: Bücher

Warum 32 Bits für Flugzeuge gefährlich sind. Oder: Wie funktioniert das eigentlich mit dem Binärcode?

Computer basieren auf dem Binärcode, der nur zwei Zustände kennt:

  1. an
  2. aus

Diese Zustände werden in den Zahlen 0 und 1 ausgedrückt. Und auf diesen beiden Zahlen basiert alles, was Computer können. Doch wie genau funktioniert das eigentlich? Welchen Unterschied macht es, wenn ein Computer-System 32 Bit oder 64 Bit zur Verfügung hat? All diese Fragen habe ich nie zu stellen gewagt, weil ich mir absolut sicher war, dass ich die Antworten unmöglich begreifen würde. Doch dann bin ich über folgendes Buch gestolpert:

Matt Parker: Damit hatte keiner gerechnet! Die größten Mathe-Irrtümer der Menschheit

Matt erklärt die Sache mit den 32 Bit so verständlich, dass ich mich nun endlich traue, die Fragen zu stellen.

Die Geschichte, warum 32 Bit für Flugzeuge gefährlich sind

FlugWas würde passieren, wenn über 800 Flugzeuge auf Langstreckenflügen mit zehntausenden Passagieren an Board 3 Stunden lang den Sprech-Funk-Kontakt zur Zentrale der Luftverkehrsüberwachung verlieren würden, die deren Routen koordiniert?

Du denkst jetzt vielleicht:

„Darüber brauchen wir uns keine Gedanken zu machen. Das kann doch nicht passieren. Die Systeme sind dafür zu sicher.“

Dann wird es Dich wahrscheinlich überraschen zu erfahren, dass genau das am 14.09.2004 in Los Angeles passiert ist. Schuld war, wie Du Dir vielleicht schon denken kannst, ein 32-Bit-System. Der einzige Grund, warum diese Geschichte in den Medien nicht hoch und runter lief, war, dass die Sache glimpflich ausging. Es gab kein schreckliches Unglück, obwohl sich einige Flugzeuge in der Luft viel näher kamen, als sie sich kommen sollten.

Doch wie konnte das passieren? Und was haben 32 Bits damit zu tun? Unser Autor beantwortet die Frage wie folgt:

Das Problem hatte seine Ursache im Zeiterfassungssystem des Computers im Kontrollzentrum. Dieses System startete beim Wert 4 294 967 295 (das ist der größte Zahlenwert, der mit einem 32-Bit -System dargestellt werden kann) und zählte in Millisekunden rückwärts. Der Kontakt zu den Flugzeugen riss ab, als das System nach 49 Tagen, 17 Stunden, 2 Minuten und 47,296 Sekunden von 4 294 967 295 auf 0 heruntergezählt hatte. Als das System bei 0 ankam, schaltete es sich einfach ab.

Der Grund, warum dies nie zuvor passiert war, lag darin, dass dieses Computersystem normalerweise manuell alle 30 Tage neu gestartet wurde. Doch im September 2004 hatten die verantwortlichen Personen den Neustart versäumt.

Wie wir bereits wissen, waren die 32 Bits des Computers Schuld an der fatalen Systemabschaltung. 32 Bit bedeutet, dass ein Computer 32 Stellen mit 1 und 0 füllen kann. Füllt er diese mit 32 Einsen, erhalten wir den Wert 4 294 967 295. Das Einzige, was uns unser Autor an dieser Stelle nicht verrät, ist, wie aus 4 294 967 295 11111111111111111111111111111111 wird. Doch zum Glück haben wir das Internet, und ich drücke uns die Daumen, dass dies meine letzte offenen Frage zu dem Thema beantworten wird.

Wie wird 4 294 967 295 zu 11111111111111111111111111111111?

Bevor wir uns auf die Beantwortung der Frage stürzen, sollten wir uns kurz zwei Begriffe genauer anschauen:

  1. Binärzahlen
  2. Dezimalzahlen

Binärzahlen werden von Computern benutzt. Computer kennen zwei Zahlen 0 und 1. Die meisten Menschen, die ich persönlich kenne, nutzen Dezimalzahlen. Es gibt 10 Dezimalzahlen. Diese lauten 0, 1, 2, 3, 4, 5, 6, 7, 8, und 9.

Wenn wir unsere Frage beantworten wollen, müssen wir also Binärzahlen in Dezimalzahlen umrechnen. An dieser Stelle könnten wir es uns dank des großartigen Internets ganz einfach machen und den Online-Rechner Binär zu Dezimal nutzen, um zu sehen, welche Binärzahl welche Dezimalzahl ergibt.

Doch natürlich machen wir es uns nicht leicht. Wir wollen wissen, warum eine binäre 1 eine dezimale 1 ist, aber eine binäre 11 eine dezimale 3. Wie so oft springt uns hier YouTube mit einem Erklärvideo zur Seite, das uns im ersten Schritt erklärt, wie wir eine Dezimalzahl in eine Binärzahl umwandeln.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Aus datenschutzrechlichen Gründen benötigt YouTube Ihre Einwilligung um geladen zu werden.
Akzeptieren

Um dieses Wunder zu vollbringen, teilen wir unsere Dezimalzahl durch 2 und arbeiten mit dem Restwert. Diese Rechnung wiederholen wir so lange mit unseren Ergebnissen, bis wir 0 als Ergebnis bekommen. Jetzt schreiben wir alle Restwerte hintereinander, wobei der letzte errechnete Restwert die erste Zahl ist. Und schon haben wir unsere Binärzahl.

Wichtig bei dieser Rechnung ist, dass Dezimalzahlen keine Kommastellen kennen. 1:2 ist also nicht 0,5, sondern 0 Rest 1, weil die 2 kein einziges Mal in die 1 passt. Das klingt jetzt unglaublich kompliziert, ist es aber gar nicht. Schauen wir uns also kurz an, wie das in der Praxis funktioniert, indem wir die Dezimalzahlen 0 bis 4 in Binärzahlen umrechnen.

Teilen wir die Dezimalzahl 0 durch 2 erhalten wir 0 mit dem Restwert 0, also ist auch die Dezimalzahl 0.

Anders sieht es schon bei der Dezimalzahl 1 aus:

  • 1:2= 0 Rest 1

Die Dezimalzahl 1 entspricht also der Binärzahl 1.

Für die 2 schaut das Ganze so aus:

  • 2:2 = 1 Rest 0
  • 1:2 = 0 Rest 1

Die Dezimalzahl 2 entspricht also der Binärzahl 10.

Für die Dezimalzahl 3 sieht die Rechnung wie folgt aus:

 

  • 3:2 = 1 Rest 1
  • 1:2 = 0 Rest 1

Die Dezimalzahl 3 entspricht also der Binärzahl 11.

Schauen wir uns das Ganze jetzt noch einmal mit der 4 an:

  • 4:2 = 2 Rest 0
  • 2:2 = 1 Rest 0
  • 1:2 = 0 Rest 1

Die Dezimalzahl 4 entspricht also der Binärzahl 100.

Fazit

Wir haben heute also gelernt, welche Probleme ein 32-Bit-System verursachen kann und haben gelernt, wie wir menschliche Dezimalzahlen in maschinelle Binärzahlen umrechnen können. Mit den schönen Rechnungen, die wir gemacht haben, sind meine mathematischen Ressourcen des Tages allerdings vollkommen erschöpft. Daher bleibe ich Dir die Rechnung, wie Du eine Binärzahl in eine Dezimalzahl umrechnest, an dieser Stelle schuldig. Wenn Dich die Antwort interessiert, empfehle ich Dir noch dieses YouTube Erklärvideo von Anfang bis Ende zu schauen. Denn am Ende erhältst Du die von Dir gesuchte Antwort.

Ach ja, und noch eine Info am Rande. Mit einem 64-Bit-System wäre der Vorfall mit den Flugzeugen nicht passiert. Dieses System wäre laut unserem Autor erst nach 586,9 Millionen Jahren bei 0 angekommen. Ich habe an dieser Stelle das Gefühl, dass unser Autor mit dieser Zahl nicht sehr präzise ist. Doch zum Glück weißt Du ja jetzt, wie Du diesen Wert berechnen kannst und kannst mir verraten, ob ich mit meinem Gefühl richtig liege. Und jetzt wünsche ich Dir viel Spaß beim Rechnen. Ich mache jetzt das, was ich richtig gut kann: Ich lese ein Buch. 😉