Bits & Bytes

Ein Byte mit 8 Bit

In vielen Programmiersprachen hat der Programmierer eigentlich gar nichts mehr mit Speicherverwaltung und Bits & Bytes zu tun. Dennoch ist es wichtig, die Hintergründe zu verstehen, denn dadurch lassen sich Fehler vermeiden.

Das Binärsystem

Jede Variable wird im Hintergrund binär repräsentiert. Um das zu verstehen sollte man sich zunächst mit dem Binärsystem vertraut machen. Ein Bit ("binary digit") entspricht einer Ziffer im Binärsystem und kann zwei Zustände einnehmen - 0 und 1. Ein Byte besteht aus acht Bits und kann somit 2⁸ Zustände abbilden, also 256. Das ist eine recht geläufige Zahl, denn in der Informatik kommen Zweierpotenzen oft vor. Je nach Datentyp können also zum Beispiel eine Zahl zwischen 0 und 255 oder auch ein UTF-8-kodiertes Zeichen mit einem Byte abgebildet werden. Größere Datentypen erlauben demnach größere Zahlenbereiche oder größere Zeichensätze.

Die Bitwertigkeit

Die Bits die zu einem Byte gehören, können sowohl von links nach rechts als auch umgekehrt indiziert sein. Der Index eines Bits bestimmt dessen Wertigkeit. Wird von links nach rechts durchnummeriert, spricht man von MSB 0 ("most significant bit"), das bedeutet das Bit mit dem höchsten Wert steht ganz rechts. In unserem Beispiel (siehe Bild oben) spricht man von LSB 0 ("least significant bit"), das Bit mit dem niedrigsten Wert steht also ganz rechts. Jedes Bit kann zwei Zustände einnehmen, das ist die Basis der Wertigkeit. Die Stelle des Bits (also der Index) bilden den Exponent. Durch aufsummieren der Werte erhält man die dezimale Repräsentation.

Im Hinterkopf behalten

Um Programmieren zu können ist es nicht unbedingt nötig die Hintergründe und das Binärsystem vollständig zu beherrschen aber man sollte zumindest im Hinterkopf behalten, dass Variablen (und jegliche andere Form von Speicher) im Endeffekt Binär repräsentiert werden. Bei Datenübertragungen über Rechnergrenzen hinweg kann zusätzlich noch die Bitwertigkeit ins Spiel kommen. Im Programmieralltag wird man mit diesen Sachen immer wieder mal in Berührung kommen bis man es dann doch mal als ganz selbstverständlich betrachtet.

Hinweis: Unser Android-Quiz für Informatik enthält neben zahlreichen anderen Informatikfragen auch Fragen zur Umrechnung von Binärzahlen (in der Kategorie "Grundlagen der Informatik").

Abbildung Stack und Heap

Im allgemeinen bezeichnen Stack ("Stapel") und Heap ("Haufen") Datenstrukturen mit ihren ganz speziellen Eigenschaften.

Ein Byte mit 8 Bit

In vielen Programmiersprachen hat der Programmierer eigentlich gar nichts mehr mit Speicherverwaltung und Bits & Bytes zu tun.

Do you speak English?

Programmieren zu lernen ist auch ohne Englischkenntnisse möglich.

Copyright © 2014 www.lerneprogrammieren.com