Zahlensysteme werden zur Darstellung von Zahlen verwendet. Die Zahlen werden dabei nach bestimmten Regeln als Folge von Ziffern bzw. Zeichen dargestellt. Die uns bekanntesten Zahlensysteme sind das Dezimalsystem (Zehnersystem), das Dualsystem (Zweiersystem) und das Hexadezimalsystem (Sechzehnersystem). Es gibt noch weitere Zahlensysteme, die aber in der Digitaltechnik und Computertechnik keine große Rolle spielen.
Jedes Zahlensystem besteht aus Nennwerten. Die Anzahl der Nennwerte ergibt sich aus der Basis. Der größte Nennwert entspricht der Basis minus (-) 1. Wird der größte Nennwert überschritten, entsteht aus dem Übertrag der nächst höhere Stellenwert.
| Duales Zahlensystem | Dezimales Zahlensystem | Hexadezimales Zahlensystem | |
|---|---|---|---|
| Nennwerte | 0 1 | 0 1 2 3 4 5 6 7 8 9 | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
| Basis | 2 | 10 | 16 |
| Größter Nennwert | 1 | 9 | F |
| Stellenwerte |
2 0 = 1, |
10 0 = 1, 10 1 = 10, 10 2 = 100, usw. |
16 0 = 1, 16 1 = 16, 16 2 = 256, usw. |
Zahlensysteme im Vergleich
| Binär/Dual | Dezimal | Hexadezimal | Binär/Dual | Dezimal | Hexadezimal | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 16 | 8 | 4 | 2 | 1 | 10 | 1 | 16 | 1 | 16 | 8 | 4 | 2 | 1 | 10 | 1 | 16 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 3 | D | |||
| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 4 | E | |||
| 0 | 0 | 0 | 1 | 0 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 5 | F | |||
| 0 | 0 | 0 | 1 | 1 | 3 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 6 | 1 | 0 | ||
| 0 | 0 | 1 | 0 | 0 | 4 | 4 | 1 | 0 | 0 | 0 | 1 | 1 | 7 | 1 | 1 | ||
| 0 | 0 | 1 | 0 | 1 | 5 | 5 | 1 | 0 | 0 | 1 | 0 | 1 | 8 | 1 | 2 | ||
| 0 | 0 | 1 | 1 | 0 | 6 | 6 | 1 | 0 | 0 | 1 | 1 | 1 | 9 | 1 | 3 | ||
| 0 | 0 | 1 | 1 | 1 | 7 | 7 | 1 | 0 | 1 | 0 | 0 | 2 | 0 | 1 | 4 | ||
| 0 | 1 | 0 | 0 | 0 | 8 | 8 | 1 | 0 | 1 | 0 | 1 | 2 | 1 | 1 | 5 | ||
| 0 | 1 | 0 | 0 | 1 | 9 | 9 | 1 | 0 | 1 | 1 | 0 | 2 | 2 | 1 | 6 | ||
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | A | 1 | 0 | 1 | 1 | 1 | 2 | 3 | 1 | 7 | |
| 0 | 1 | 0 | 1 | 1 | 1 | 1 | B | 1 | 1 | 0 | 0 | 0 | 2 | 4 | 1 | 8 | |
| 0 | 1 | 1 | 0 | 0 | 1 | 2 | C | ||||||||||
Dezimales Zahlensystem
Das dezimale Zahlensystem kennzeichnet die Verwendung von zehn verschiedenen Ziffern innerhalb eines Stellenwertsystems. Eine Stelle kann jeweils einen Wert von 0 bis 9 annehmen. Damit war erstmals ein einfaches und schnelles Rechnen möglich.
Die Grundlagen des Dezimalsystems sind aus der Tatsache hervorgegangen, dass wir Menschen jeweils 10 Finger und 10 Zehen haben. Da ist es naheliegend, dass wir auf der Basis von 10 rechnen. So beruhen viele Zahlensysteme auf einer natürlichen Gliederung, die sich durch die fünf Finger einer Hand, die 10 Finger beider Hände oder die sogar insgesamt 20 aus Finger und Zehen ergeben.
Bei den von uns verwendeten Zahlen für das dezimale Zahlensystem handelt es sich um arabische Ziffern indischen Ursprungs. Sie sind im Laufe der Jahrhunderte über Südostasien und das unter arabischem Einfluss stehende Spanien nach Europa gekommen.
Bekannt wurde das Dezimalsystem in Deutschland durch den Rechenmeister Adam Riese (1492-1559), der ursprünglich Adam Ries, ohne e am Ende, heißt. Aus der Übergangszeit vom römischen ins dezimale Zahlensystem stammt der Spruch "Das macht nach Adam Riese...". Hiermit wollte man ausdrücken, dass man mit dem dezimalen Zahlensystem gerechnet hat. Heute wird der Spruch immer dann verwendet, wenn man die Richtigkeit eines Rechenergebnisses unterstreichen möchte.
Nennwerte: 0 1 2 3 4 5 6 7 8 9
Basis: 10
Größter Nennwert: 9
Stellenwerte: 10 0 = 1, 101 = 10, 102 = 100, usw.
Duales Zahlensystem
Es gibt 10 Arten von Menschen: Diejenigen, die das binäre System verstehen, und die, die es nicht verstehen.
Die dezimale Zählweise (10er) mag uns logisch erscheinen. Doch die Natur hat keine 10 Finger und 10 Zehen. Sie operiert auf einem einfacheren Zahlensystem. Dem dualen Zahlensystem mit der Basis 2. Dabei handelt es sich um zwei Zustände. Ja oder Nein, Ein oder Aus.
Das Duale Zahlensystem ist entstanden, weil man in der elektronischen Datenverarbeitung nur 2 Zustände unterscheiden kann. Diese sogenannten binären Zustände werden üblicherweise mit H und L abgekürzt. Die logischen Zustände sind 1 und 0.
Binär (Binärsystem)
Der Begriff Binär bezeichnet nach DIN 44300 etwas, das zwei Zeichen annehmen kann. Unter Dual versteht man ein Zahlensystem, das nur aus zwei Zeichen besteht. Beispiele:
- Seiten: links/rechts
- Frage: Ja/Nein
- Wert: wahr/falsch
- Farbe: weiß/schwarz
- Spannung: 0V/5V
- Licht: An/Aus
Nennwerte: 0 und 1
Basis: 2
Größter Nennwert: 1
Stellenwerte: 2 0 = 1, 21 = 2, 22 = 4, usw.
Zum besseren Verständnis der Zählweise im Dualen Zahlensystem dient diese Tabelle. In der ersten Stelle wird ständig zwischen 0 und 1 gewechselt. In der 2. Stelle wird zwischen 00 und 11 gewechselt. In der 3. Stelle wird zwischen 0000 und 1111 gewechselt.
| 8 (23) | 4 (22) | 2 (21) | 1 (20) | Dezimalzahl |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 0 | 2 |
| 0 | 0 | 1 | 1 | 3 |
| 0 | 1 | 0 | 0 | 4 |
| 0 | 1 | 0 | 1 | 5 |
| 0 | 1 | 1 | 0 | 6 |
| 0 | 1 | 1 | 1 | 7 |
| 1 | 0 | 0 | 0 | 8 |
| 1 | 0 | 0 | 1 | 9 |
| 1 | 0 | 1 | 0 | 10 |
| 1 | 0 | 1 | 1 | 11 |
| 1 | 1 | 0 | 0 | 12 |
| 1 | 1 | 0 | 1 | 13 |
| 1 | 1 | 1 | 0 | 14 |
| 1 | 1 | 1 | 1 | 15 |
In dieser Tabelle siehst du, welche Werte sich aus 2n ergeben. Die jeweiligen Datentypen in dieser Größe sind dazu geschrieben. byte hat zum Beispiel 8 Bit. 28 ergibt 256. Der Wertebereich von byte ist allerings -128 bis 127, da auch negative Werte dazugehören.
| Exponent n | 2n | Exponent n | 2n | Exponent n | 2n | Exponent n | 2n |
|---|---|---|---|---|---|---|---|
| 1 | 2 | 9 | 512 | 17 | 131.972 | 25 | 33.554.432 |
| 2 | 4 | 10 | 1.024 | 18 | 262.144 | 26 | 67.108.864 |
| 3 | 8 | 11 | 2.048 | 19 | 524.288 | 27 | 134.217.728 |
| 4 | 16 | 12 | 4.096 | 20 | 1.048.576 | 28 | 268.435.456 |
| 5 | 32 | 13 | 8.192 | 21 | 2.097.152 | 29 | 536.870.912 |
| 6 | 64 | 14 | 16.384 | 22 | 4.194.304 | 30 | 1.073.741.824 |
| 7 | 128 | 15 | 32.768 | 23 | 8.388.608 | 31 | 2.147.483.648 |
| 8 (byte) | 256 | 16 (short) | 65.536 | 24 | 16.777.216 | 32 (int) | 4.294.967.296 |
Hexadezimales Zahlensystem
Große Binärzahlen haben den Nachteil, dass sie sehr unübersichtlich sind. Um dem Abhilfe zu schaffen hat man das Hexadezimalsystem eingeführt. Dabei werden 4 Bit einer Dualzahl durch ein hexadezimales Zeichen ersetzt.
Da eine 4-Bit Dualzahl 16 Zustände annehmen kann, wir aber nur 10 dezimale Zahlen kennen, hat man dem hexadezimalen Zahlensystem 6 Buchstaben hinzugefügt.
Nennwerte: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Basis: 16
Größter Nennwert: F
Stellenwerte: 16 0 = 1, 161 = 16, 162 = 256, usw.
Zum besseren Verständnis der Zählweise im hexadezimalen Zahlensystem dient diese Tabelle. Jeweils 4 Dualstellen bilden eine Hexadezimalstelle.
| Dezimal | Binär/Dual | Hexadezimal | |||
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
| 2 | 0 | 0 | 1 | 0 | 2 |
| 3 | 0 | 0 | 1 | 1 | 3 |
| 4 | 0 | 1 | 0 | 0 | 4 |
| 5 | 0 | 1 | 0 | 1 | 5 |
| 6 | 0 | 1 | 1 | 0 | 6 |
| 7 | 0 | 1 | 1 | 1 | 7 |
| 8 | 1 | 0 | 0 | 0 | 8 |
| 9 | 1 | 0 | 0 | 1 | 9 |
| 10 | 1 | 0 | 1 | 0 | A |
| 11 | 1 | 0 | 1 | 1 | B |
| 12 | 1 | 1 | 0 | 0 | C |
| 13 | 1 | 1 | 0 | 1 | D |
| 14 | 1 | 1 | 1 | 0 | E |
| 15 | 1 | 1 | 1 | 1 | F |
Hexadezimale Zahlen in der Computertechnik
In der Computertechnik ist das duale Zahlensystem maßgeblich. Manchmal wird aber auch das Hexadezimalsystem verwendet. In der Regel zur übersichtlicheren Darstellung von großen dualen Zahlen. So werden lange Bitfolgen zu je 4 Bit gruppiert und in eine hexadezimale Zahl umgerechnet. Auf diese Weise entsteht aus einer langen Folge von 1 und 0 eine kürzere hexadezimale Zahl. Zur leichteren Lesbarkeit gruppiert man hexadezimale Zahlen dann nochmal in 2er oder 4er Gruppen. Hexadezimale Zahlen oder die hexadezimale Darstellung ist also eine andere Form der Darstellung von Bitfolgen.
Das Hexadezimalsystem oder Sechzehnersystem dient zur übersichtlicheren und kompakteren Darstellung von langen Bitfolgen. Außerdem wird es bei der Assembler-Programmierung für die Adressierung von I/O- und Speicher-Bausteinen verwendet.
| 010100001010110000111111 | Bitfolge | |||||
|---|---|---|---|---|---|---|
| 0101 | 0000 | 1010 | 1100 | 0011 | 1111 | gruppierte Bitfolge |
| 5 | 0 | A | C | 3 | F | Umwandlung in Hexzahlen |
| 50 | AC | 3F | gruppierte Hexzahlen | |||
Hexadezimale Zahlen in der Gestaltung
Ein weiterer Bereich, in dem dir das Hexadezimale Zahlensystem begegnen wird, ist die Gestaltung. Hier wird das System verwendet, um RGB-Farbwerte anzugeben. Der Wert #FFFFFF steht zum Beipspiel für weiß und #000000 für schwarz. Das liegt daran, dass der hexadezimale Wert FF genau 255 ergibt und somit die Zahlenwerte von 0 bis 255 damit dargestellt werden können, die das RGB-System verwendet. Hier siehst du eine kleine Tabelle zur Veranschaulichung einiger Farbwerte:
| Weiß | #ffffff | R:255 G:255 B:255 |
| Schwarz | #000000 | R:000 G:000 B:000 |
| Grau | #e1e1e1 | R:225 G:225 B:225 |
| Rot | #ff0000 | R:255 G:000 B:000 |
| Blau | #0000ff | R:000 G:000 B:255 |
| Grün | #00ff00 | R:000 G:255 B:000 |
| Gelb | #ffff00 | R:225 G:225 B:000 |
| Lila | #8c00ff | R:140 G:000 B:255 |
Zahlensysteme umrechnen
Dezimalzahl in eine andere Zahl umwandeln
Hexadezimal
Um eine Dezimalzahl in eine Hexadezimalzahl umzuwandeln, muss die Dezimalzahl nur durch die Zahl 16 dividiert und der Rest notiert werden.
Da eine Zahl dividiert durch 16 immer nur einen Rest von 0 bis 15 ergeben kann (da beim Rest 16 der Quotient um 1 erhöht werden müsste), entsteht daraus die äquivalente Hexadezimalzahl. Folgende Schritte müssen immer wieder durchgeführt werden:
- Die Zahl durch 16 dividieren
- Den Rest der Division notieren
- Falls das Ergebnis nicht 0 ist, Schritt 1 und 2 wiederholen
- Nun müssen alle Rest-Zahlen, die größer 9 sind durch die entsprechenden hexadezimalen Zahlen (A, B, C, D, E, F) ersetzt werden.
- Die umgewandelten Rest-Zahlen in umgekehrter Reihenfolge ergeben die hexadezimale Zahl
Beispiel:
| Rechnung | Ergebnis | Rest |
| 45791:16 = | 2861 | 15 = F |
| 2861:16 = | 178 | 13 = D |
| 178:16 = | 11 | 2 |
| 11:16 = | 0 | 11 = B |
Die Dezimalzahl 45791 ergibt daher die Hexadezimalzahl:
4579110 = B2DF16
Binär
Um eine Dezimalzahl in eine Binärzahl umzuwandeln, muss die Dezimalzahl nur durch die Zahl 2 dividiert und der Rest notiert werden. Da eine Zahl dividiert durch 2 immer nur den Rest 0 oder 1 ergeben kann, entsteht daraus die äquivalente Binärzahl.
Folgende Schritte müssen immer wieder durchgeführt werden:
- Die Zahl durch 2 dividieren
- Den Rest der Division notieren
- Falls das Ergebnis nicht 0 ist, Schritt 1 und 2 wiederholen
- Die Rest-Zahlen in umgekehrter Reihenfolge ergeben die binäre Zahl
Beispiel:
| Rechnung | Ergebnis | Rest |
| 190:2 = | 95 | 0 |
| 95:2 = | 47 | 1 |
| 47:2 = | 23 | 1 |
| 23:2 = | 11 | 1 |
| 11:2 = | 5 | 1 |
| 5:2 = | 2 | 1 |
| 2:2 = | 1 | 0 |
| 1:2 = | 0 | 1 |
Die Dezimalzahl 190 ergibt daher die Binärzahl:
19010 = 101111102
Eine andere Zahl in Dezimalzahl umwandeln
Jede Stelle einer Dezimalzahl entspricht einem bestimmten Stellenwert:
| Zahl | 7 | 2 | 0 | 9 |
|---|---|---|---|---|
| Stellenwert | 1000 | 100 | 10 | 1 |
| Stellenwert in Potenzschreibweise | 103 | 102 | 101 | 100 |
Somit hat die Ziffer 8 an der 3. Stelle einen anderen Wert (800) als an der 2. Stelle (80). In unserem Beispiel könnten wir den Zahlenwert ermitteln durch:
7*10³ + 2*10² + 0*101 + 9*100 = 7000 + 200 + 9
Hexadezimal
Genauso kann der Stellenwert bei Hexadezimalzahlen ermittelt werden. Betrachten wir dazu die hexadezimale Zahl EF02C16:
| Stellenwert | 65536 | 4096 | 256 | 16 | 1 |
|---|---|---|---|---|---|
| Stellenwert in Potenzschreibweise | 164 | 163 | 162 | 161 | 160 |
Wie bei der Dezimalzahl kann der Zahlenwert der Hexadezimalzahl ermittelt werden, indem die Ziffern mit dem zugehörigen Stellenwert multipliziert und anschließend summiert werden.
Man muss zuerst noch - falls in der Zahl vorhanden - die Buchstaben A-F durch die Zahlen 10-15 ersetzen (A=10, B=11, C=12, ...)
E*164 + F*16³ + 0*16² + 2*161 + C*160 =
14*164 + 15*16³ + 0*16² + 2*161 + C*160 =
917504 + 61440 + 0 + 32 + 12 = 978988
EF02C16 = 97898810
Binär
Genauso kann der Stellenwert bei Binärzahlen ermittelt werden. Betrachten wir dazu die binäre Zahl 101101112:
| Stellenwert | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Stellenwert in Potenzschreibweise | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
Somit kann wie bei der Dezimalzahl der Zahlenwert dieser binären Zahl ermittelt werden, indem die Ziffern mit dem zugehörigen Stellenwert multipliziert und anschließend summiert werden.
1*27 + 0*26 + 1*25 + 1*24 + 0*2³ + 1*2² + 1*21 + 1*20 =
128 + 32 + 16 + 4 + 2 + 1 = 183
101101112 = 18310
Zusammenfassung
- in der Mathematik gibt es viele verschiedenen Zahlensysteme. 3 für die Computertechnik wichtige Zahlensysteme sind das
- binäre Zahlensystem
- dezimale Zahlensystem
- hexadezimale Zahlensystem
- Für Zahlensysteme gibt es ein paar wichtige Fachbegriffe:
- Nennwerte: Das sind die einzelnen Ziffern, die innerhalb des Zahlensystem verwendet werden können
- Basis: Die Basis besagt, wieviele Ziffern das Zahlensystem verwendet beginnend bei 0
- Stellenwerte: Die Stellenwerte sind die Werte, die sich aus der Multiplikation der Basis mit sich selbst ergeben, also b0, b1, b2, b3, ...