Dezimal- und Binärsystem
Zahlensysteme sind Schemata zur Repräsentation von Zahlen. Dieses Kapitel beschäftigt sich mit der Umrechnung zwischen dem Dezimal- und Binärsystem.
Inhaltsverzeichnis
Motivation
Eine "Zehn" besitzt sowohl im Dezimal-, Binär-, Oktal-, Hexadezimal- oder römischen[1] System den gleichen Wert, wird jedoch unterschiedlich repräsentiert. Diese sind entsprechend "10", "1010", "12", "A" oder "X". Andere Zahlen besitzen in einem Zahlensystem hingegen keine eindeutige repräsentation, so z.B. die Zahl "ein Halb", welche sich als Bruch mit "1/2 , 2/4, 100/200, ..." repräsentiert lässt, oder die Zahl "ein Drittel" als Dezimalzahl mit Nachkommastellen hingegen garkeine exakte repräsentation haben kann (0.33333...). Damit Sie ein Verständniss entwickeln können, wie Rechner mit Zahlen umgehen und wo bei dieser repräsentation Probleme entstehen können, beschäftigen Sie sich die ersten Wochen der Veranstaltung mit dem Binärsystem.
Ziffern und Werte
Genau wie Zahlen im Dezimalsystem, besitzen die Ziffern einer Zahl einen Wert und eine Position in der Zahl. Die Position, oder Stelligkeit, einer Ziffer gibt den Faktor an, mit dem die Ziffer multipliziert wird um ihren Wert in der Zahl zu repräsentieren. Die Ziffern im Dezimalsystem haben den Wert "0" bis "9", während im Binärsystem nur die Ziffern "0" und "1" existieren. Der Faktor der Stelligkeit einer Ziffer ist in jedem Zahlensystem aus ihrer Position zu berechnen: Die erste (rechteste) Ziffer einer Zahl hat den Faktor b^0, wobei b die Anzahl der verschiedenen Ziffernwerte im Zahlensystem repräsentiert und Basis genannt wird. Die Zweite Ziffer hat den Faktor b^1, die dritte b^2 usw.
Beispiele
Im Dezimalsystem ist die Basis des Faktors 10. Die Zahl 734 im Dezimalsystem hat drei Ziffern, die 7 hat den Faktor 10^2 = 100, die 3 den Faktor 10^1 = 10 und die 4 den Faktor 10^0 = 1. Somit lässt sich die Zahl als "Sieben mal Hundert", "Drei mal Zehn" und "Vier mal Eins" interpetieren. Da das übliche Zahlensystem, in dem Sie arbeiten das Dezimalsystem ist, sollte dies nicht näher überraschend sein, jedoch ist es wichtig, dass Sie den Hintergrund dieser Repräsentation verstehen.
Das Binärsystem hat als Basis den Faktor 2. Die Zahl 1001 im Binärsystem hat vier Ziffern, die linke 1 hat den Faktor 2^3 = 8, die linke 0 hat den Faktor 2^2 = 4, die rechte 0 hat den Faktor 2^1 = 2 und die rechte 1 hat den Faktor 2^0. Somit lässt sich die Zahl als "Ein mal Acht", "Null mal Vier", "Null mal Zwei" und "Ein mal Eins" interpretieren.
Umrechnung
Umgerechnet aus dem Binärsystem in das Dezimalsystem ist die Zahl 1001 also 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 1*8 + 0*4 + 0*2 + 1*1 = 8+1 = 9. Da die Repräsentation der Faktoren selbst im Dezimalsystem liegt, sollte dies nicht weiter kompliziert sein.
Die Umrechnung vom Dezimalsystem in das Binärsystem baut auf der gleichen Idee, wie die obrige Repräsentation der Zahl 734 auf. Man wählt zur Repräsentation zuerst den größten Faktor, der kleiner ist als die Zahl selbst und gibt der Ziffer an der linkesten Position den entsprechenden Wert, wie häufig der Faktor in diese Zahl maximal hinein passt. Der größte Faktor im Dezimalsystem, der in die 734 hinein passt ist die 100=10^2 und diese passt 7 mal in die 734 hinein. Also hat die linkeste Ziffer die Stelligkeit 3 und den Wert 7. Wir führen den Prozess mit dem Rest 34 durch um den Rest der Zahl zu repräsentieren.
Beispiel
Um diese Umrechnung im Binärsystem durchzuführen geht man genau so vor, nur mit anderen Faktoren. Der größte Faktor im Binärsystem, der in die 734 hinein passt ist der Faktor 512=2^9. Dieser passt genau ein mal in die Zahl hinein, also hat die linkeste Ziffer der Repräsentation den Wert 1 und die Stelligkeit 10. Der Rest, der noch nicht repräsentiert ist, hat den Wert 734 - 512 = 222. Wir setzen das Schema fort:
- Der Faktor 256=10^8 passt 0 mal in den Rest hinein, die Ziffer an Position 9 hat also den Wert 0.
- Der Faktor 128=2^7 passt 1 mal in den Rest hinein, die Ziffer an Position 8 hat also den Wert 1. Der Rest ist 222 - 128 = 94.
- Der Faktor 64=2^6 passt 1 mal in den Rest hinein, die Ziffer an Position 7 hat also den Wert 1. Der Rest ist 94 - 64 = 30.
- Der Faktor 32=2^5 passt 0 mal in den Rest hinein, die Ziffer an Position 6 hat also den Wert 0.
- Der Faktor 16=2^4 passt 1 mal in den Rest hinein, die Ziffer an Position 5 hat also den Wert 1. Der Rest ist 30 - 16 = 14.
- Der Faktor 8=2^3 passt 1 mal in den Rest hinen, die Ziffer an Position 4 hat also den Wert 1. Der Rest ist 14 - 8 = 6.
- Der Faktor 4=2^2 passt 1 mal in den Rest hinein, die Ziffer an Position 3 hat also den Wert 1. Der Rest ist 6 - 4 = 2.
- Der Faktor 2=2^1 passt 1 mal in den Rest hinein, die Ziffer an Position 2 hat also den Wert 1. Der Rest ist 2 - 2 = 0.
- Der Faktor 1=2^0 passt 0 mal in den Rest hinein, die Ziffer an Position 1 hat also den Wert 0. Damit sind wir fertig.
Die Zahl 734, repräsentiert im Binärsystem, ist also 10 Ziffern groß und ist 1011011110.
das gleiche Beispiel aber anders
Man dividiert die Dezimalzahl, die man umrechnen will, mittels Ganzzahldivision durch 2. Den Rest notiert man sich. Das Ergenis der Divison wird solange wieder dividert, bis das Ergbnis 0 ergibt.
- 734 durch 2 ist 367 mit dem Rest 0
- 367 durch 2 ist 183 mit dem Rest 1
- 183 durch 2 ist 091 mit dem Rest 1
- 091 durch 2 ist 045 mit dem Rest 1
- 045 durch 2 ist 022 mit dem Rest 1
- 022 durch 2 ist 011 mit dem Rest 0
- 011 durch 2 ist 005 mit dem Rest 1
- 005 durch 2 ist 002 mit dem Rest 1
- 002 durch 2 ist 001 mit dem Rest 0
- 001 durch 2 ist 000 mit dem Rest 1
Nun werden die Reste von unten nach oben gelesen, sodass es die Binärzahl 1011011110 ergibt.
Fußnoten
- ↑ Das Zahlensystem der Römer hatte jedoch diverse Eigenschaften, die das intuitive rechnen kaum möglich machte, weswegen wir dies im weiteren außen vor lassen und kaum eine Aussage die hier getroffen wurde sich auf dieses Zahlensystem übertragen lässt.