Benutzer-Werkzeuge

Webseiten-Werkzeuge


neuerlehrplan:gk:zahlsysteme

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
neuerlehrplan:gk:zahlsysteme [2025/11/18 21:05] – [Hexadezimalsystem] lutzneuerlehrplan:gk:zahlsysteme [2026/03/02 17:45] (aktuell) – [1.1.1 Zahlsysteme und Zeichencodierung] lutz
Zeile 1: Zeile 1:
-====== 1.1 Zahlsysteme ======+====== 1.1.1 Zahlsysteme ======
  
-===== Dualsystem =====+===== Dualsysstem =====
  
 +**Einstieg:**\\
 Bereits in Klasse 7 haben Sie die **Dualzahlen** (oder auch **Binärzahlen**) kennengelernt. Digitale Systeme arbeiten auf Basis des **Dualsystems**, weil sich die beiden Ziffern 0 und 1 besonders einfach umsetzen lassen (0 ≙ 0V, 1 ≙ 5V). Bereits in Klasse 7 haben Sie die **Dualzahlen** (oder auch **Binärzahlen**) kennengelernt. Digitale Systeme arbeiten auf Basis des **Dualsystems**, weil sich die beiden Ziffern 0 und 1 besonders einfach umsetzen lassen (0 ≙ 0V, 1 ≙ 5V).
  
 Genau wie das Dezimalsystem ist das Dualsystem ein Stellenwertsystem. Im Unterschied zum Dezimalsystem, arbeitet es nicht mit Zehnerpotenzen, sondern mit Zweierpotenzen. Genau wie das Dezimalsystem ist das Dualsystem ein Stellenwertsystem. Im Unterschied zum Dezimalsystem, arbeitet es nicht mit Zehnerpotenzen, sondern mit Zweierpotenzen.
  
-**Beispiel 1**\\ +**Beispiel 1** 
-Darstellung der Dezimalzahl  in der Stellentafel:+Darstellung der Dezimalzahl $(3045)_{10}$ in der Stellentafel:
  
-^$10^4=10000$^$10^3=1000$^$10^2=100$^$10^1=10$^$10^0=1$| +$10^4=10000$ $10^3=1000$ $10^2=100$ $10^1=10$ $10^0=1$ | 
-|$0$|$3$|$0$|$4$|$5$|+| $0$          | $3$         | $0$        | $4$       | $5$      |
  
-**Beispiel 2**\\ +**Beispiel 2** 
-Darstellung der Binärzahl  in der Stellentafel:+Darstellung der Binärzahl $(10010011)_2$ in der Stellentafel:
  
-^$2^7=128$^$2^6=64$^$2^5=32$^$2^4=16$^$2^3=8$^$2^2=4$^$2^1=2$^$2^0=1$| +$2^7=128$ $2^6=64$ $2^5=32$ $2^4=16$ $2^3=8$ $2^2=4$ $2^1=2$ $2^0=1$ | 
-|$1$|$0$|$0$|$1$|$0$|$0$|$1$|$1$|+| $1$       | $0$      | $0$      | $1$      | $0$     | $0$     | $1$     | $1$     |
  
-==== Umwandeln von Dualzahlen in Dezimalzahlen und umgekehrt ====+Allgemein kann man ein Stellenwertsystem wie folgt definieren: 
 + 
 +<WRAP center round info 60%> 
 +Ein **Stellenwertsystem** wird definiert durch die Basis R und die Menge seiner Ziffern d. Eine natürliche Zahl N wird durch folgende Summe dargestellt: $$N d_n \cdot R^n + ... + d_1 \cdot R^1 + d_0 \cdot R^0$$ 
 +</WRAP> 
 + 
 +Entsprechend der obigen Beispiele kann man die Zahlen nun wie folgt schreiben: 
 + 
 +**Beispiel 1:** $(3045)_2=3 \cdot 10^3 + 0 \cdot 10^2 + 4 \cdot 10^1 + 5 \cdot 10^0$ 
 + 
 +**Beispiel 2:** $(10010011)_2 1 \cdot 2^7 + 0 \cdot 2^6 + 0 \cdot 2^5 + 1 \cdot 2^4 + 0 \cdot 2^3 + 0 \cdot 2^2 +1 \cdot 2^1 + 1 \cdot 2^0$  
 + 
 + 
 +==== Umrechnen zwischen Dezimal- und Dualzahlen ====
  
 === Umwandeln von Dualzahlen in Dezimalzahlen === === Umwandeln von Dualzahlen in Dezimalzahlen ===
Zeile 25: Zeile 39:
 Um eine Binärzahl ins Dezimalsystem umzurechnen, trägt man sie einfach in eine Stellentafel ein und addiert die Zweierpotenzen, bei denen in der Stellentafel eine 1 steht. Um eine Binärzahl ins Dezimalsystem umzurechnen, trägt man sie einfach in eine Stellentafel ein und addiert die Zweierpotenzen, bei denen in der Stellentafel eine 1 steht.
  
-**Beispiel 3**\\+**Beispiel 3**
 (Zahl aus Beispiel 2) (Zahl aus Beispiel 2)
  
Zeile 31: Zeile 45:
  
 === Umwandeln von Dezimalzahlen in Dualzahlen === === Umwandeln von Dezimalzahlen in Dualzahlen ===
- 
-**Beispiel 4** 
  
 Um eine Dezimalzahl ins Binärsystem umzurechnen, zerlegt man sie zunächst in eine Summe aus Zweierpotenzen: Um eine Dezimalzahl ins Binärsystem umzurechnen, zerlegt man sie zunächst in eine Summe aus Zweierpotenzen:
Zeile 40: Zeile 52:
 Nun trägt man bei allen auftretenden Zweierpotenzen in die Stellentafel eine 1 ein, ansonsten trägt man Nullen ein: Nun trägt man bei allen auftretenden Zweierpotenzen in die Stellentafel eine 1 ein, ansonsten trägt man Nullen ein:
  
-^$2^7=128$^$2^6=64$^$2^5=32$^$2^4=16$^$2^3=8$^$2^2=4$^$2^1=2$^$2^0=1$| +$2^7=128$ $2^6=64$ $2^5=32$ $2^4=16$ $2^3=8$ $2^2=4$ $2^1=2$ $2^0=1$ | 
-|$1$|$0$|$0$|$1$|$1$|$1$|$0$|$0$| +| $1$       | $0$      | $0$      | $1$      | $1$     | $1$     | $0$     | $0$     |
 Nun kann man die Zahl einfach aus der Stellentafel ablesen, wobei man führende Nullen weglassen kann: Nun kann man die Zahl einfach aus der Stellentafel ablesen, wobei man führende Nullen weglassen kann:
  
 $\rightarrow (10011100)_2$ $\rightarrow (10011100)_2$
 +
 +{{youtube>kP8c8fii2OY}}
 +
 +\\
 +\\
  
 **Beispiel 5** **Beispiel 5**
Zeile 63: Zeile 79:
 \end{array} \end{array}
 $$ $$
 +Die Reste ergeben nun von unten nach oben gelesen die gesuchte Dualzahl:
  
-==== Rechnen mit Dualzahlen ====+$\rightarrow (10011100)_2$
  
-=== Addition von Dualzahlen ===+===== Hexadezimalsystem =====
  
-Das schriftliche Addieren von Dualzahlen unterscheidet sich nicht wesentlich von der Durchführung des Verfahrens bei Dezimalzahlen. Der Unterschied besteht lediglich darin, dass sich bereits bei ein Übertrag ergibt:+Dualzahlen sind wesentlich länger als ihre dezimalen Entsprechungen. Deshalb benutzt man in der technischen Informatik noch das Hexadezimalsystem, ein Zahlsystem auf der Basis 16. Der Vorteil des Hexadezimalsystems ist, dass sich hexadezimale Zahlen besonders einfach in Dualzahlen umrechnen lassen und umgekehrt, weil eine hexadezimale Ziffer einer vierstelligen Dualzahl entspricht. 
 + 
 +Das Alphabet des Hexadezimalsystems besteht aus den Ziffern 
 +$$\mathcal{A}=\lbrace\text{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}\rbrace$$ 
 +, wobei A der Dezimalzahl 10, B der Dezimalzahl 11, C der Dezimalzahl 12, D der Dezimalzahl 13, E der Dezimalzahl 14 und F der Dezimalzahl 15 entspricht.
  
 **Beispiel 6** **Beispiel 6**
  
-$6 + 5 = (110)_2 + (101)_2 = (1011)_2 =11$+Damit ergibt sich die folgende Stellentafel:
  
-$$ +$16^2=256| $16^1=16$ | $16^0=1$ | 
-\begin{array}{lr} +| 2          | A         | 4        | 
-&110\\ + 
-+&101\\ +Die dargestellte Zahl $(2A4)_{16}$ lässt sich nun wie folgt in eine Dezimalzahl umwandeln: 
-\hline + 
-&\underline {\underline {1011}} \\  +$$(2A4)_{16= 2 \cdot 16^2 + A \cdot 16^1 \cdot 16^0 = 2 \cdot 256 + 10 \cdot 16 + 4 \cdot 1 = 676$$
-\end{array} +
-$$+
  
 **Beispiel 7** **Beispiel 7**
  
-$27 + 34 = (11011)_2 + (100010)_2 = (111101)_2 =61$+Um eine Dezimalzahl in eine Hexadezimalzahl umzuwandeln kann man analog zu den Dualzahlen vorgehen und eine fortgesetzte Division durch 16 durchführen. Dies soll am Beispiel der Zahl 741 durchgeführt werden:
  
 $$ $$
-\begin{array}{lr+\begin{array}{rcll
-&11011\\ +741 : 16&=&46 \text{Rest } 5 \\ 
-+&100010\\ +46 : 16&=&& \text{Rest } 14 \\ 
-\hline +2 : 16&=&& \text{Rest 2 \\
-&\underline {\underline {111101}}+
 \end{array} \end{array}
 $$ $$
 +Die entstehenden Reste von unten nach oben gelesen ergeben die gesuchte hexadezimale Zahl, wobei 14 der Ziffer E entspricht:
  
-=== Komplement ===+$$(2E5)_{16}$$ 
 +Video !!!
  
-Eine spezielle Operation mit Dualzahlen, die von den Dezimalzahlen her nicht gebräuchlich sind. Dabei handelt es sich um die Bildung des Komplements (d.h. der Ergänzung). Wir unterscheiden dabei zwischen **Einer- und Zweierkomplement**. Das Zweierkomplement ist dabei die Dualzahl, die zu einer vorgegebenen Dualzahl addiert werden muss, um auf eine bestimmte Zweierpotenz zu kommen. Das Einerkomplement entspricht dem Zweierkomplement - 1.+Während das Umwandeln dezimaler Zahlen in hexadezimale Zahlen recht schwierig sein kannkann man duale Zahlen recht einfach in hexadezimale Zahlen umwandeln. Dazu unterteilt man die Zahl von rechts beginnend in Viererblöcke, wobei man den linken Viererblock eventuell mit Nullen auffüllt, und wandelt jeden der Viererblöcke einzeln in eine Zahl von 0 bis 15 (0 bis F) um.
  
-Die zu erreichende Zweierpotenz hängt von der **Wortbreite** (maximale Länge eines Befehls, der durch den Prozessor verarbeitet werden kann). Moderne CPUs können Befehle mit einer Breite von 64 Bit verarbeiten, man verwendet aber als Wortbreite meist 32 Bit um abwärts kompatibel zu sein. Wir verwenden für unsere Übungen eine Wortbreite von 8 Bit.+**Beispiel 8**
  
-Bei einer Wortbreite von 8 Bit ist das Zweierkomplement die Zahl, die zur Ausgangszahl addiert werden muss, dass die Zweierpotenz  erreicht wird. Das ist die erste Zweierpotenz, die sich mit 8 Bit Wortbreite nicht mehr darstellen lässt.+$$(1000111101)_2 = \underbrace{0010}_{2} \underbrace{0011}_{3} \underbrace{1101}_{13 = \text{D}} = (23\text{D})_{16}$$
  
-== Bildung der Komplemente == +Umgekehrt funktioniert das genau so:
- +
-**Beispiel 8**\\ +
-Gegeben ist die Dualzahl $(1001000)_2 = 80$. Um das Zweierkomplement bei einer Wortbreite von 8 Bit zu bilden, führen wird die folgenden drei Schritte durch: +
- +
-  - Ergänzen der Zahl durch führende Nullen auf 8 Stellen: $$01001000$$ +
-  - Das Einerkomplement bildet man, indem man alle Stellen der Zahl umkehrt, d.h. aus einer 0 wird eine 1 und aus einer 1 wird eine 0:$$\begin{array}{lr}\text{Zahl:  } & 01001000 \\ \text{Einerkomplement:  }&10110111 \\ \end{array}$$ +
-  - Zum Einerkomplement addiert man nun noch die Zahl 1 um das Zweierkomplement zu erhalten: $$ +
-\begin{array}{rlr} \text{Einerkomplement: }&&10110111 \\ &+&1 \\ \text{Zweierkomplement: } &&\underline {\underline {10111000}} \end{array}$$ +
-  +
-=== Subtraktion von Dualzahlen ===+
  
 **Beispiel 9** **Beispiel 9**
  
-Die schriftliche Subtraktion von Dualzahlen funktioniert analog zur Subtraktion von Dezimalzahlen:+$$(\text{F}39)_{16}= \underbrace{\text{F}}_{1111} \underbrace{3}_{0011} \underbrace{9}_{1001} = (111100111001)_2$$
  
-$$ +Deshalb lohnt es sich, beim Umwandeln von Hexadezimalzahlen in Dezimalzahlen und umgekehrt den Umweg über die Dualzahlen zu gehen.
-\begin{array}{lr} +
-&110100\\ +
--&10011\\ +
-\hline +
-&\underline {\underline {100001}} +
-\end{array} +
-$$+
  
-**Beispiel 10**+Damit sind die wichtigsten Zahlsysteme der technischen Informatik vorgestellt. In den nächsten Abschnitten wird nun gezeigt, wie man sie zur Codierung von Zahlen und Zeichen im Computer verwendet. 
  
-Man kann Dualzahlen aber auch subtrahieren, indem man indem man das Zweierkomplement des Subtrahend addiert. Die entstehende Zahl ist dann größer als die Wortbreite und die führende Eins fällt dann einfach weg.+{{youtube>oDyW4K1fpfw}}
  
-Einerkomplement von $00010011 \rightarrow 11101100$\\ +===== Umwandeln von Zahlen beliebiger Stellenwertsysteme ins Dezimalsystem und umgekehrt =====
-Zweierkomplement: $11101100 + 1 11101101$+
  
-$$ +Das Dualsystem und das Hexadezimalsystem spielen in der Informatik eine besondere Rolle. Man kann sich aber auch weitere Stellenwertsystem überlegen. Z.B hatten die Maya ein Zahlsystem auf der Basis 20. Für das Umwandeln von beliebigen Stellenwertsystemen ins Zehnersystem und umgekehrt kann man nun die bereits vom Dual- und Hexadezimalsystem bekannten Algorithmen verallgemeinern.
-\begin{array}{lr} +
-&110100\\ +
-+&11101101\\ +
-\hline +
-&\underline {\underline {(1)00100001}} +
-\end{array} +
-$$+
  
-Auch wenn die Wortbreite größer ist, würden solange führende Nullen entstehen, bis die entsprechende Zweierpotenz ($2^{32}$ bzw. $2^{64}$) erreicht ist.+**Beispiel 10**
  
-===== Hexadezimalsystem =====+Die Zahl $(154)_6$ ist eine Zahl im 6er-System (Hexasystem) mit der Basis 6 und den Ziffern $\mathcal{A}=\lbrace\text{0,1,2,3,4,5}\rbrace$. Um die Zahl ins Dezimalsystem umzuwandeln multipliziert man einfach die Ziffern mit den jeweiligen Potenzen und bildet die Summe:
  
-Dualzahlen sind wesentlich länger als ihre dezimalen Entsprechungen. Deshalb benutzt man in der technischen Informatik noch das Hexadezimalsystem, ein Zahlsystem auf der Basis 16. Der Vorteil des Hexadezimalsystems ist, dass sich hexadezimale Zahlen besonders einfach in Dualzahlen umrechnen lassen und umgekehrt, weil eine hexadezimale Ziffer einer vierstelligen Dualzahl entspricht.+$$(154)_6 = 1 \cdot 6^2 + 5 \cdot 6^1 + 4 \cdot 6^0 = 70$$
  
-Das Alphabet des Hexadezimalsystems besteht aus den Ziffern\\+Verallgemeinert wird dieser Algorithmus durch die Definition eines Stellenwertsystems (siehe oben):
  
-$$\mathcal{A}=\lbrace\text{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}\rbrace$$ +<WRAP center round info 60%> 
- +Gegeben sei ein **Stellenwertsystem** mit der Basis R und der Menge seiner Ziffern d. Eine natürliche Zahl N (im Dezimalsystem) wird durch folgende Summe dargestellt: $$(d_n ... d_1d_0)_R d_n \cdot R^n + ... + d_1 \cdot R^+ d_0 \cdot R^0=N$$ 
-, wobei A der Dezimalzahl 10, B der Dezimalzahl 11, C der Dezimalzahl 12, D der Dezimalzahl 13, E der Dezimalzahl 14 und F der Dezimalzahl 15 entspricht.+</WRAP>
  
 **Beispiel 11** **Beispiel 11**
  
-Damit ergibt sich die folgende Stellentafel: +Schauen wir uns nun die Umkehrung an. Um die Zahl 6 ins 6er- (Hex-System umzuwandeln, 
- +dividieren wir die Zahl fortgesetzt durch die Basis 6. Die Reste von unten nach oben gelesen ergeben die gesuchte Zahl im  6er- (Hex-System.
-^$16^2=256$^$16^1=16$^$16^0=1$| +
-|2|A|4| +
- +
- +
-Die dargestellte Zahl $(2A4)_{16}$ lässt sich nun wie folgt in eine Dezimalzahl umwandeln: +
- +
-$$(2A4)_{16} = 2 \cdot 16^2 + A \cdot 16^1 + 4 \cdot 16^0 = 2 \cdot 256 + 10 \cdot 16 + 4 \cdot 1 = 676$$ +
- +
-**Beispiel 12** +
- +
-Um eine Dezimalzahl in eine Hexadezimalzahl umzuwandeln kann man analog zu den Dualzahlen vorgehen und eine fortgesetzte Division durch 16 durchführenDies soll am Beispiel der Zahl 741 durchgeführt werden:+
  
 $$ $$
 \begin{array}{rcll} \begin{array}{rcll}
-741 16&=&46 & \text{Rest } \\ +70 6&=&11 & \text{Rest } \\ 
-46 16&=&& \text{Rest } 14 \\ +11 6&=&& \text{Rest } \\ 
-16&=&0 & \text{Rest } \\+6&=&0 & \text{Rest } \\
 \end{array} \end{array}
 $$ $$
-Die entstehenden Reste von unten nach oben gelesen ergeben die gesuchte hexadezimale Zahl, wobei 14 der Ziffer E entspricht:+$\rightarrow$ $(154)_6$
  
-$$(2E5)_{16}$$ +<WRAP center round info 60%> 
-Während das Umwandeln dezimaler Zahlen in hexadezimale Zahlen recht schwierig sein kann, kann man duale Zahlen recht einfach in hexadezimale Zahlen umwandeln. Dazu unterteilt man die Zahl von rechts beginnend in Viererblöcke, wobei man den linken Viererblock eventuell mit Nullen auffüllt, und wandelt jeden der Viererblöcke einzeln in eine Zahl von 0 bis 15 (0 bis Fum.+Gegeben sei ein **Stellenwertsystem** mit der Basis R und der Menge seiner Ziffern d. Eine natürliche Zahl (im Dezimalsystemkann man auf folgende Weise in das gegebene Stellenwertsystem umwandeln:
  
-**Beispiel 13**+1. Dividiere N durch die Basis R
  
-$$(1000111101)_2 = \underbrace{0010}_{2} \underbrace{0011}_{3} \underbrace{1101}_{13 = \text{D}} = (23\text{D})_{16}$$+2. Nummerierter ListenpunktMache das Ergebnis zum neuen N und wiederhole Schritt 1 solange N ungleich 0 ist.
  
-Umgekehrt funktioniert das genau so:+3. Nummerierter ListenpunktDie sich ergebenden Reste "von unten nach oben gelesen" ergeben die gesuchte Zahl im entsprechenden Stellenwertsystem.
  
-**Beispiel 14**+</WRAP>
  
-$$(\text{F}39)_{16}= \underbrace{\text{F}}_{1111} \underbrace{3}_{0011} \underbrace{9}_{1001} = (111100111001)_2$$ 
  
-Deshalb lohnt es sich, beim Umwandeln von Hexadezimalzahlen in Dezimalzahlen und umgekehrt den Umweg über die Dualzahlen zu gehen. 
  
-Damit sind die wichtigsten Zahlsysteme der technischen Informatik vorgestellt. In den nächsten Abschnitten wird nun gezeigt, wie man sie zur Codierung von Zahlen und Zeichen im Computer verwendet.  
neuerlehrplan/gk/zahlsysteme.1763496336.txt.gz · Zuletzt geändert: von lutz