Die Interpretation von Daten
Adas wichtige Erkenntnis war, dass die Analytical Engine nicht auf arithmetische Berechnungen beschränkt war, sondern eine Vielzahl von Anwendungen haben könnte. Dies ist für einen modernen Programmierer eine Selbstverständlichkeit, war aber 1843 ein radikaler Gedanke, den viele nicht verstanden haben.
Die Analytical Engine speicherte Zahlen im Dezimalformat, moderne Computer verwenden dagegen das Binärformat. Babbage kannte zwar die Binärzahlen, entschied sich aber für Dezimalzahlen, weil er dadurch weniger Speicherplätze brauchte (Zahlen sind in der Dezimaldarstellung drei- bis viermal kürzer als in der Binärdarstellung.) Moderne Rechner verwenden das Binärformat, weil die Schaltkreise dadurch einfacher werden.
Bits und Bytes
Eine einstellige Binärzahl wird in der Informatik ein Bit genannt. Ein Bit kann zwei verschiedene Werte annehmen, die üblicherweise mit 0 und 1 bezeichnet werden. Binärzahlen werden in 8er-Gruppen zu Bytes zusammengefasst. Würde man ein Byte als ganze Zahl interpretiert, wäre die kleinste Zahl, die man in einem Byte darstellen kann die 0 (00000000) und die größte Zahl die 255 (11111111).
Um aber die Vielfalt der Anwendungen von Computern zu ermöglichen (und auch die Programmierung zu vereinfachen) beschränkt man sich aber nicht auf die Interpretation als Zahlen, sondern entwickelt eigene Interpretationen, die auf die jeweilige Aufgabe zugeschnitten sind. So werden zum Beispiel Bits sehr oft für die Wahrheitswerte wahr und falsch genutzt.
Was bedeutet also 01000001?
Hier sind ein paar geläufige Beispiele für die Interpretation von Bytes in Computerprogrammen. Wir haben als Beispiel den Wert 01000001 gewählt.
- Als ganze Zahl: 65
- Als Buchstabe: A (Nach der sogenannten ASCII-Kodierung)
- Am Bildschirm: Die Intensität des Farbanteils rot, grün oder blau
- Als Befehl: Speichern (Als Java Bytecode)
- Als musikalischer Ton: F5 (Bei der MIDI-Interface zur Kommunikation zwischen Musikinstrumenten)
Entsprechend erhält dann die Operation “+1” verschiedene Interpretationen:
- Bei Zahlen: Die Addition von 1. Ergebnis: 66
- Bei Buchstaben: Der nächste Buchstabe in der Sequenz. Ergebnis: B
- Bei Farbcodes: Ein geringfügig hellerer Rot-, Grün- oder Blauanteil
- Bei Bytecodes: Der nächste Befehl im Befehlssatz. Ergebnis: Ein anderer Speicherbefehl
- Bei Midi: Der nächsthöhere Ton in der Tonleiter: Ergebnis: F#5