12.3 Die
Darstellung des Typs byte im Rechner |
||||||||||||||||
Was ist ein Bit, was
ein Byte?
Später werden |
Auf die
Frage "Regnet es?" gibt es die Antwort "ja" oder "nein". Bei der Frage
handelt es sich also um eine sog. ja-nein-Frage. Die Datenmenge, die man
bei der Beantwortung einer solchen Frage übermittelt, ist 1 Bit. Ein
Bit (1 bit) ist also die kleinste Portion an Datenmengen, die man
übertragen, oder auch speichern kann. Sie wird im Computer durch das
Setzen von 1
im ja-Fall
und der 0
im nein-Fall
realisiert. Setzt man 8 Bit einer größeren Einheit zusammen, so nennt man
den Wert dieser Datenmenge 1 Byte. Also
8 bit = 1 Byte In einem Speicher der der einer Datenmenge von 1 Byte Platz bietet, kann man also 8 Zeichen aus dem Vorrat {0,1} ablegen. Ein Datentyp, "dessen Variable" gerade einen Platz von 1 Byte beansprucht, ist das byte. (Man beachte die Unterscheidung in der Groß- und Kleinschreibung). Der Inhalt eines solchen Speichers, also die 8 Zeichen bestehen aus den 0 en und 1 en, kann man als Zahl interpretieren. [0,1,1,1,0,0,1,1] Bei dieser Interpretation werden die 1en und 0en als Ziffern im Dualsystem interpretiert. Unsere "Zeichen" lassen sich also wie folgt "verstehen": 0111 0011 also 0*128 + 1*64 + 1*32 + 1*16 + 0*8 + 0*4 + 1*2 + 1*1 = 115 Beim Zahlentyp
byte
in Java kann man also Zahlen von [0000 0000] bis
|
|||||||||||||||
Ringdarstellung des
Datentyps Byte |
Beim Inkrementieren
einer Byte - Zahl um 1 (Erhöhen des Zahlenwertes um 1), wird 00000001
addiert, was dem Weiterrücken um eine Stelle in dem Ring (in
Uhrzeigersinn) bedeutet. Eine Addition einer beliebigen Zahl kann man sich
als ein entsprechend oft ausgeführte Inkrementierung um 1 vorstellen. Dass
eine Addition wie (-32)+(40) das richtige Ergebnis liefert, lässt sich an
dem links gezeichneten Kreis leicht nachvollziehen. Addiert man zur Zahl
127 eine 1 so wird man als Ergebnis -128 bekommen. (Vgl. dazu die
Hausaufgaben). Beim Programmieren muss man also die Tatsache
berücksichtigen, dass man leicht zu unsinnigen Ergebnissen kommen kann:
126 + 3 ergibt z.B. -127. Um solche Fehler bei Berechnungen zu vermeiden
ist es nötig, sich genau zu überlegen, welchen Datentyp man wählt. Statt
den Typ byte
kann man short,
int
oder long
wählen. Reicht auch
long
nicht aus, muss man das Problem mit speziellen Algorithmen lösen, die
einen größeren Zahlenbereich simulieren. Was wir hier über die
byte-
Zahlen gesagt haben gilt natürlich auch für short, int
und long. |
|||||||||||||||
zu | 12.4 Der ASCII-Kode | |||||||||||||||
www.pohlig.de (C) MPohlig
2007
|