====== Zahlensysteme in der Informatik ====== //Diese Seite dient als Ausgangspunkt für alle 3 Kompetenzniveaus (Basis, Anwender und Problemlöser).// Das binäre und das hexadezimale Zahlensystem sind in der Informatik von herausragender Bedeutung. Ein grundlegendes Verständnis für die Zahlendarstellung in diesen Stellenwertsystemen und das Lesen und Umrechnen solcher Zahlen ohne technische Hilfsmittel sind eine wichtige Grundkompetenz. ===== Empfohlene Lernstrategie ===== ==== Zahlendarstellung ==== Informiere dich zuerst über das Grundprinzip der Zahlendarstellung in [[https://de.wikipedia.org/wiki/Stellenwertsystem|Stellenwertsystemen]] im Allgemeinen und im [[:binaeres_zahlensystem|binären]] und [[:hexadezimales_zahlensystem|hexadezimalen Zahlensystem]] im Besonderen. Versuche dir das Zählprinzip dieser Zahlensysteme anhand der [[:beispielseite_zahlensysteme|Beispielseite zur Veranschaulichung von Zahlensystemen]] zu verdeutlichen. Wenn du lieber einen schnellen Einstieg per **Video** haben möchtest, dann schau dir die beiden unten verlinkten Videos zum Binär- und Hexadezimalsystem an. ==== Umrechnung von einem Zahlensystem in das andere ==== Komplexe Rechenaufgaben, egal in welchem Zahlensystem, erledigt man in der Regel mit einem Taschenrechner oder Computer. Einfache Rechnungen sollen aber im Kopf oder mit Hilfe von handschriftlichen Notizen möglich sein. ---- === Dezimal- und Binärsystem === Eine anschauliche Erläuterung zur Umrechnung einer Dezimalzahl in eine binäre Zahl und umgekehrt findest du auf [[https://www.sps-tutorial.com/dualsystem/|dieser Seite]]. Du kannst zwischen Videoerklärung und Text wählen. ---- === Dezimal- und Hexadezimalsystem === Auf eine ähnliche Weise wie im oben angegebenen Video kann auch die Umrechnung ins und aus dem Hexadezimalsystem erfolgen. Vom **Hexadezimalsystem ins Dezimalsystem** wird einfach die Wertigkeit jeder Stelle mit der dort stehenden Ziffer multipliziert und das Ergebnis addiert. Vom **Dezimalsystem ins Hexadezimalsystem** kann man wieder mit einer Wertetabelle arbeiten. Hier ein Beispiel: **27.534** ins Hexadezimalsystem umrechnen | 16^4 | 16^3 | 16^2 | 16^1 | 16^0 | | 65.536 | 4.096 | 256 | 16 | 1 | | 0 | 6 | 11 | 8 | 14 | | 0 | 6 | B | 8 | E | | 27.534 | 65.536 passt gar nicht hinein | unverändert | | 27.534 | 4.096 passt 6x hinein (24.576) | 27.534 - 24.576 = 2.958 | | 2.958 | 256 passt 11x hinein (2.816) | 2.958 - 2.816 = 142 | | 142 | 16 passt 8x hinein (128) | 142 - 128 = 14 | | 14 | 1 passt 14x hinein (8) | 14 - 14 = 0 | ---- === Binär- und Hexadezimalsystem === Am einfachsten ist die umrechnung zwischen Binär- und Hexadezimalsystem, denn 24 = 161. Eine hexadezimale Ziffer lässt sich also immer durch 4 binäre Ziffern darstellen. Somit ist ein **ziffernweises Umrechnen** möglich. Dazu muss man einfach nur jeweils die Zahlen von 0 bis 15 im Kopf haben. | bin | hex | | 0000 | 0 | | 0001 | 1 | | 0010 | 2 | | 0011 | 3 | | 0100 | 4 | | 0101 | 5 | | 0110 | 6 | | 0111 | 7 | | 1000 | 8 | | 1001 | 9 | | 1010 | A | | 1011 | B | | 1100 | C | | 1101 | D | | 1110 | E | | 1111 | F | Bekanntermaßen werden **8 Bit** zu einem **Byte** zusammengefasst. Ein Byte lässt sich also durch 8 binäre Ziffern ''1101 0101'' oder durch 2 hexadezimale Ziffern ''D5'' darstellen. Ein **halbes Byte**, also 4 Bit oder ein hexadezimaler Buchstabe bezeichnet man auch als **Halbbyte** oder **[[https://de.wikipedia.org/wiki/Nibble|Nibble]]**. Mit diesem Hintergrundwissen lassen sich auch sehr große Zahlen zwischen den beiden Zahlensystemen umwandeln. **__Hier zwei Beispiele:__** **1101 1110 1010 1101 1011 1110 1110 1111 ins Hexadezimalsystem** 1101 1110 1010 1101 1011 1110 1110 1111 D E A D B E E F **C0 FF EE ins Binärsystem** C 0 F F E E 1100 0000 1111 1111 1110 1110 ==== Rechnen im Binär- und Hexadezimalsystem ==== === Inkrement und Dekrement === Mache dich zuerst mit einfachen Plus-1- und Minus-1-Operationen vertraut. Wie lautet die nächstgrößere oder nächstkleinere Zahl? Achte auf den Korrekten Umgang mit Überläufen, also wenn zwischen größter und kleinster Ziffer gesprungen wird und sich auch eine benachbarte Stelle ändern muss. ---- === Addition === Die Addition funktioniert in beiden Zahlensystemen ebenso wie im Dezimalsystem. Man schreibt beide Zahlen untereinander, beginnt bei der niederwertigsten Stelle die zusammengehörigen Stellen paarweise zu addieren und addiert eventuelle Überläufte zur nächsthöherwertigen Stelle dazu. 1010 1110 + 10 0111 Schritt 1: Schritt 2: Schritt 3: Schritt 4: Schritt 5: Schritt 6: Schritt 7: Schritt 8: Schritt 9: 1. Summand 1010 1110 1010 1110 1010 1110 1010 1110 1010 1110 1010 1110 1010 1110 1010 1110 1010 1110 2. Summand + 10 0111 + 10 0111 + 10 0111 + 10 0111 + 10 0111 + 10 0111 + 10 0111 + 10 0111 + 10 0111 ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- Überlauf 0 10 110 1110 1110 01 110 101 110 0101 110 0101 110 Summe 1 01 101 0101 0101 1 0101 01 0101 101 0101 1101 0101 1010 1110 + 10 0111 = 1101 0101 D648 + C69 Schritt 1: Schritt 2: Schritt 3: Schritt 4: 1. Summand D648 D648 D648 D648 2. Summand + C69 + C69 + C69 + C69 ------ ------ ------ ------ Überlauf 1 01 101 101 Summe 1 B1 2B1 E2B1 D648 + C69 = E2B1 ---- === Wichtige Zahlen === Merke dir auch die wichtigsten "glatten" Binär- und Hexadezimalzahlen. Orientiere dich dabei an den Absätzen [[:binaeres_zahlensystem#wichtige_zahlenwerte|Wichtige Zahlenwerte]] und [[:hexadezimales_zahlensystem#wichtige_zahlenwerte|Wichtige Zahlenwerte]]. ===== Zusätzliche und alternative Materialien ===== * Podcast: [[https://podcasts.google.com/feed/aHR0cHM6Ly9mYWNoaW5mb3JtYXRpa2VyLWFud2VuZHVuZ3NlbnR3aWNrbHVuZy5uZXQvcG9kY2FzdC8/episode/aHR0cHM6Ly9pdC1iZXJ1ZmUtcG9kY2FzdC5kZS8_cD01MDU4?ep=14|Zahlensysteme, Zweierpotenzen und Binärzahlen]], IT-Berufe-Podcast #181 * Webseite: [[https://www.sofatutor.com/physik/videos/binaere-darstellung-von-zahlen-buchstaben-und-zeichen#das-binaersystem]] * Video: [[https://www.youtube.com/embed/6WsI95N0QKU|YouTube-Video zum Binärsystem (4:35)]] * Video: [[https://www.youtube.com/embed/-6Je-FuAufk|YouTube-Video zum Hexadezimalsystem (6:33)]] * Online-Rechner mit interaktiver Erklärung: [[https://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm]]