Binärsystem

Werbung
Das Binärsystem („Dualsystem“)
Binärsystem
Schaltungen im Computer kennen nur zwei Zustände: es liegt Spannung an („high“) oder nicht („low“). In der Informatik wird zur
Darstellung dieser beiden Zustände das binäre Zahlensystem (= Zahlensystem mit der Basis 2) verwendet. Es gibt in diesem
Zahlensystem nur 2 Ziffern: 0 und 1. Die einzelnen Ziffern im Binärsystem werden „Bits“ genannt. „Bit“ steht für „binary digit“, ein
Bit kann nur die Werte „1“ (= „gesetztes Bit“) oder „0“ (= „nicht gesetztes Bit“) annehmen.
Da gespeicherte Dateien sehr unterschiedliche Größen haben können, wurden verschiedene Maßeinheiten festgelegt: 1 „Byte“ = 8 Bit,
1 Kilobyte (KB) = 1024 Bytes, 1 Megabyte (MB) = 1024 KB, 1 GigaByte (GB) = 1024 MB, 1 Terabyte (TB) = 1024 GB, 1 Petabyte = 1024 TB.
Beispiele: ein 5-seitiger WORD-Text ca. 35 KB
ein Digitalfoto: ca. 4 MB
ein MP3 Musikstück: ca. 3 MB
ein 7-Minten langes Video in niedriger Qualität: ca. 12 MB
ein 20-minütiges Video in guter Qualität: ca. 1 GB
Die Medien, auf denen wir unsere Dateien speichern, besitzen sehr unterschiedliche Kapazitäten: eine Diskette fasst 1,4 MB, eine CD
700 MB, ein Memorystick z.B. 4 GB, eine DVD 4,3 GB. Festplatten, wie sie derzeit in Computer eingebaut werden, fassen 256 GB
bis 1000 GB. Daraus lässt sich errechnen, wieviele Dateien auf bestimmten Medien gespeichert werden können. Auf eine CD passen
z.B. 200 Digitalfotos zu je 3,5 MB oder 20.000 Texte zu je 35 KB (700 MB ≈ 700.000 KB, 700.000:35 = 20.000)
Das niedrigstwertige („unterste“) Bit befindet sich, wie in jedem Zahlsystem, ganz rechts. Das höchstwertige Bit („oberstes“ Bit, sog.
„MSB“ - most significant bit) ganz links. Die Zählung beginnt bei „0“, d.h. das unterste Bit = Bit-Nr. 0, das oberste z.B. in einem
Byte = Bit-Nr. 7. Ein halbes Byte (4 Bit) wird auch „Nibble“ genannt. Beispiel: die folgende Binärzahl besteht aus 8 Bit (= 1 Byte =
2 „Nibble“):
0101 1101
Die Basis schreibt man meist tiefgestellt nach der Zahl: „101100112“ bedeutet: „Zahl wird im Binärsystem dargestellt“; „17910“
bedeutet dagegen: „Zahl im Dezimalsystem“. Jede Ziffer besitzt einen bestimmten Stellenwert, der sich allg. aus Position der Ziffer
hoch Basis ergibt, wobei die Zählung der Position mit „0“ beginnt, d.h. die erste Ziffer (ganz rechts) befindet sich an Position „0“.
Beachte, dass „hoch 0“ immer „1“ ergibt (2 0 = 1, 100 = 1)! Daher lautet der Stellenwert der ersten Stelle immer „1“. Im Folgenden
eine Übersicht über den Stellenwert der einzelnen Ziffern eines Bytes:
Position
Stellenwert
7
27=128
6
26=64
5
25=32
4
24=16
3
23=8
2
22=4
1
21=2
0
20=1
Umwandeln Binär  Dezimal:
Wie ermittelt man nun den Wert einer Binärzahl? Man multipliziert den Stellenwert der einzelnen Ziffer mit der Ziffer selbst (kann im
Binärsystem nur 0 oder 1 sein) und addiert anschließend diese Produkte. Im Folgenden als Beispiel das Byte 011010012:
Bit-Nr:
Stellenwert 2n
7
27=128
6
26=64
5
25=32
4
24=16
3
23=8
2
22=4
1
21=2
0
20=1
Beispielbyte:
Wert der einzelnen Stellen:
0
0*27=0
1
1*26=64
1
1*25=32
0
0*24=0
1
1*23=8
0
0*22=0
0
0*21=0
1
1*20=1
Ergibt: 0+64+32+0+8+0+0+1 = 10510. Unser Beispielbyte „01101001“ entspricht daher „105“ im Dezimalsystem.
Umwandeln Dezimal  Binär
Zahl durch Basis „2“ dividieren bis Zahl = 0, der Divisionsrest ergibt die einzelnen Binärziffern (beginnend beim untersten Bit!):
Beispiel: die Dezimalzahl 29 soll ins Binärsystem umgewandelt werden:
29:2
14:2
7:2
3:2
1:2
=
=
=
=
=
14
7
3
1
0
Rest
Rest
Rest
Rest
Rest
1 (= unterstes Bit)
0
1
1
1 (= oberstes Bit)
Die Zahl „29“ im Dezimalsystem entspricht demnach der Zahl „11101“ im Binärsystem
Wertebereich:
Da jede Ziffer einen bestimmten Stellenwert besitzt, ergibt sich (abhängig von der Anzahl der Ziffern) ein Höchstwert, der mit dieser
Anzahl Ziffern dargestellt („codiert“) werden kann. Wenn z.B. in einem Byte alle 8 Bit gesetzt sind, ergibt das den Wert 1*2 7 + 1*26
+ 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1+20 = 255. Der „Wertebereich“ eines Byte liegt daher Bereich von 0 bis 255. Weitere Beispiele: 16 Bit = max. 65.535; 32 Bit = max 4.294.967.295. Da die aktuellen Computer meist 32 Bit für die Adressierung des Speichers
verwenden, können sie maximal 4,3 Mrd Bytes ≈ 4 GB Speicher ansprechen (da Windows selbst einen Teil des Speichers für sich reserviert, bleiben tatsächlich weniger übrig). Mehr als 4 GB hat daher nur mit einem 64-Bit System Sinn.
Hexadezimalsystem
Neben dem Binärsystem ist auch das Octalsystem (Basis = 8) und besonders das Hexadezimalsystem (Basis = 16) gebräuchlich. Da
wir nur die Ziffern 0 bis 9 kennen, müssen im Hexadezimalsystem (Basis 16), die fehlenden Ziffern 10 bis 15 durch Buchstaben
(A bis F) ersetzt werden.
In der folgenden Tabelle zum Vergleich die Zahlen von 0 bis 16 im Dezimal-, Binär- und Hexadezimalsystem:
Dezimalsystem
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Binärsystem
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
Hexadezimal-system
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
Warum hat man neben unserem Dezimalsystem und dem computereigenen Binärsystem noch ein weiteres entwickelt? Es ist kompakter als das Binärsystem und lässt sich leicht ins dieses umwandeln. Programmierer schätzen außerdem eine besondere Eigenschaft des
Hexadezimalsystems: eine einzelne Ziffer entspricht immer einem „Nibble“, d.h. 2 Ziffern immer einem Byte:
25510 = 1111 11112 = FF16
12710 = 0000 11112 = 0F16
U.a. bei der Farbdarstellung erweist sich diese Eigenschaft als nützlich, da die einzelnen Farbwerte auf den ersten Blick voneinander
unterschieden werden können. Windows speichert Farben normalerweise in 4 Bytes:
ein Byte:
ein Byte:
ein Byte:
ein Byte:
Transparenz
Rot-Anteil der Farbe
Grün-Anteil der Farbe
Blau-Anteil der Farbe
Da ein Byte maximal 256 verschiedene Werte aufnehmen kann (s.o.), bedeutet das, dass maximal 256 verschiedene Rot-, 256 Grünund 256 Blau-Töne gespeichert werden können, das ergibt 256*256*256 = 16.777.216 verschiedene Farbmischungen. Viele Bildformate wie „JPG“ (wird von allen Digitalkameras verwendet) oder „PNG“ sind nach diesem Prinzip aufgebaut (JPG verwendet drei
Bytes, d.h. ohne Transparenz; PNG verwendet vier Bytes, kann daher 256 verschiedene Transparenzstufen speichern).
Ein hexadezimaler Farbwert wie „00FF00“ bedeutet: kein Rot-Anteil, kein Blau-Anteil, Grün dagegen auf Maximum. „FF00FF“
wäre eine Mischfarbe aus Rot und Blau (= „Magenta“ = Purpur), „00FFFF“ eine Mischfarbe aus Grün und Blau (= „Cyan“),
„FFFF00“ eine Mischfarbe aus Rot und Grün (= Gelb). Haben alle drei Bytes den gleichen Wert, bekommt man einen Grauton zu
sehen („C4C4C4“ z.B. wäre ein helles Grau). „000000“ ergibt Schwarz, „FFFFFF“ ergibt Weiß. Eine Übersicht über viele Farbmischungen mit ihren Hexadezimal-Farbwerten findet man z.B. unter „http://www.farb-tabelle.de/de/farbtabelle.htm“.
Herunterladen