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").

Programmierung vs. Softwareentwicklung

Die Programmierung ist ein Teilbereich der Softwareentwicklung oder genauer gesagt des Softwareentwicklungsprozesses, der durch das Vorgehensmodel

Datentyp Bool

Ein Bool (oder auch Boolean) steht für einen Wahrheitswert, der entweder true also wahr oder false also unwahr sein kan

C++ eignet sich gut für Programmieranfänger

Es gibt jede Menge Programmiersprachen. Viele davon sind sich ähnlich, manche sind sehr eigenartig.

Copyright © 2014 www.lerneprogrammieren.com