Zählsysteme © Megaman IV alias Christian Bernstein Der Text ist frei verfügbar, aber trotzdem mein geistiges Eigentum!
...
12 downloads
367 Views
50KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Zählsysteme © Megaman IV alias Christian Bernstein Der Text ist frei verfügbar, aber trotzdem mein geistiges Eigentum!
Inhalt -
Geschichtlicher Abriss Ein bisschen Mathematik Dezimalsystem/Dezimalbrüche Hexadezimalsystem Binärsystem Tabelle mir allen Systemen Noch ein bisschen Mathematik Nachwort
Geschichte Zum Zählen an sich gibt es nicht viel zu erzählen und zur Mathematik gibt es zuviel. Ich fasse mich deswegen mal kurz. Die alten Ägypter hatten es nicht so mit dem Zählen. Sie zählten: 1, 2, viele. Der Großteil der Masse konnte tatsächlich nicht mal bis drei zählen. Daraus ergaben sich Probleme in der Mathematik, die allerdings auch ganz trickreich gelöst werden. Sie erfanden Rechenmechanismen mit denen man sehr schnell multiplizieren oder potenzieren konnte. Aber dann kam die NULL. Die Null war die Revolution, denn nun musste man nicht für jede Menge ein neues Zahlwort nehmen. Nun hatte man nur noch die Zahlwörter von null bis neun zu lernen und danach sagte man einfach zehn (10) und das Zähl en hatte nun ein System. Das Rechnen war viel einfacher. Das Dezimalsystem war geboren. Die Römer benutzten ein etwas anderes System beim Zählen (ich denke jeder kennt es), was auch Ihnen das Rechnen erschwerte. Irgendwann
1
(ich weiß nicht wann) bürgerte sich unter den Gelehrten und danach im Volke das Dezimalsystem ein. Allerdings halten sich bis heute noch Relikte aus längst vergangenen Zählsystemen. Das Duodezimalsystem findet sich noch heute in der deutschen und vielen anderen (indo)europäischen Sprachen wieder. Wenn „wir“ beim Zählen bei zehn angelangt sind, zählen wir etwa nicht einszehn und zweizehn, sondern elf und zwölf (im englischen dann eleven ...) und erst wenn wir bis ein Duzend (= zwölf) gezählt haben greift das Dezimalsystems und wir zählen dann 13, 14, 15. Dies hat auch grammatikalische Folgen. In der deutschen Grammatik müssen (und das wissen leider nicht alle) alle Zahlen von eins bis zwölf auch ausgeschrieben werden. Erst die 13 darf als Zahl geschrieben werden. Dies verbindet alle europäischen Sprachen miteinander. Alte Systeme haben auch in der Mathematik und Geometrie ihre Spuren hinterlassen. Der Kreis hat 360° und der Tag hat 24 (zwei Duzend) Stunden und eine Stunde hat 60 Minuten. Der Grund dafür ist, dass man z.B. bei Kreis ohne Probleme durch zwei, drei, oder vier, oder sechs teilen konnte ohne Dezimalbrüche (Kommazahlen) zu erhalten.
Ein bisschen Mathematik Wirklich nur ein kleines bisschen versprochen ;) Was im Volksmund immer vernachlässigt wird, in der Mathematik oder Physik nicht von sehr großer Bedeutung ist, aber in der Informatik und beim Verständnis des Zählens sehr wichtig ist, ist, dass das Zählen bei 0 anfängt und nicht bei eins. Fragt man jemanden, ob er mal bis zehn zählen könne, so wird er sagen: „1, 2, 3, 4, 5, 6, 7, 8, 9, 10“. Dies ist aber falsch! Es müsste heißen: „0, 1, 2, 3, 4, 5, 6, 7, 8, 9“. Bei zehn würden wir nämlich die Zehnerstellen schon benutzen und das ist rein mathematisch falsch. Wie schon gesagt es ist in der heutigen Zeit nicht von Bedeutung, aber man sollte im Hinterkopf behalten, dass es in Wirklichkeit so ist.
Dezimalsystem Das Dezimalsystem ist das System welches praktisch überall auf der Welt eingesetzt wird, weil es so einfach und praktisch ist. Es ist Teil der Sprache, sodass ich fast nichts sagen brauche. Am Dezimalsystem möchte ich aber deutlich machen, welches Prinzip bei hinter dem Zählen steckt und das ist sehr wichtig um andere Systeme zu verstehen.
2
Ich nehme mal eine dreistellige Zahl. 576 (Fünfhundertsechsundsiebzig) . Jeder kennt diese Zahl und jeder weiß wie viel das ist. Nun zum System: Die letzte Stelle (ganz rechts) gibt die Anzahl der Einser an um genau zu sein die Anzahl der 100. 100 = 1, ich hoffe das weiß jeder. In diesem Fall haben wir 6 x 100. Die nächste Stelle (von rechts aus). Die nächste Stelle gibt die Anzahl von 101 an. 101 = 10 und wir haben 7 x 101. Die dritte (von rechts aus) gibt die Anzahl von 102 an. 102 = 100 und wir haben 5 x 102. Bei der Zahl 576 haben wir also (6 x 1)+(7 x 10)+(5 x 100) = 576. Wenn ich jetzt statt 576 2576 genommen hätte so gäbe es (von rechts aus gesehen) noch eine weitere Stelle, die dann die Anzahl von 103 (=1000) angegeben hätte. Für alle die in Mathe noch keine Potenzrechnung hatten, erkläre ich kurz das System. Also, die Potenz ist die Zahl, die nach oben gerückt hinter einer Zahl steht, also so ZahlPotenz. Die Potenz gibt an, wie oft eine Zahl mit sich selbst multipliziert werden soll. 51 ist also 5, 52 ist 5x5 = 25 und 53 ist 5x5x5 = 125. Und so weiter. Hier ist eine Tabelle, die das für die Zehnerpotenzen zeigt: Potenz 102 101 100 10-1 10-2 10-3 Rechnung 1x10x10 1x10 1 1:10 1:10:10 1:10:10:10 Ergebnis 100 10 1 0,1 0,01 0,001 Zurück zum Thema. Das Prinzip, was hinter der Wertigkeit von Stellen in ganzen Zahlen steckt ist folgendes. Man geht bei den Stellen immer von rechts aus. Die erste Stelle ist Stelle 0(man fängt ja von null an zu zählen). Das ist die Anzahl von 100. Die zweite Stelle ist Stelle 1 und gibt die Anzahl gibt die Anzahl von 101 an. System erkannt? Stelle
Der Wert ist
Anzahl ∗ 10
Ich hoffe das ging jetzt nicht zu schnell und das Prinzip wurde verstanden. Wenn nicht, dann lest euch den vorherigen Abschnitt noch einmal durch. Aber das war noch nicht alles. Dieses Prinzip lässt sich auch auf Dezimalbrüche („Kommazahlen“) anwenden. Nehmen wir man 2,58. Stelle 0 ist dabei die erste Stelle vor dem Komma (2). Der Wert dieser Stelle ist nach oben gestellter Formel 2 x 100 = 2. Dann haben wir noch die Stellen hinter dem Komme, die zum Glück nach demselben Prinzip gewertet werden. Die erste Stelle hinter dem Komma (jetzt von links aus gesehen) ist Stelle –1. Der Wert dieser Stelle ist also 5 x 10-1 = 0,5. Die zweite Stelle (immer noch von links aus) ist Stelle –2 (man beachte, dass die 0 nicht mehr mitgezählt wird) Der Wert dieser Stelle ist 8 x 10-2 = 0,08. Hier eine Tabelle mit einem Beispiel(21,647): Zahl 2 1 , 6 4 7 Stelle 1 0 , -1 -2 -3 1 0 -1 -2 Wert als Potenz 2x10 1x10 , 6x10 4x10 7x10-3 Wert als Zahl 20 1 , 0,6 0,04 0,007 Man muss also sauber unterscheiden, ob eine Stelle hinter oder vor dem Komma steht um deren Wert genau zu bestimmen. Für die Stellen hinter dem Komma gelten folgende Regeln. Die 0 wird nicht mehr mitgezählt, weil die Stelle 0 schon vor dem Komma steht und Hinter dem Komma zählt man die Nummer der Stelle von Links aus. Beispiel: Der Wert der 3
Zahl 43,81 ist (4 x 101)+(3 x 100)+(8 x 10-1)+(1 x 10-2) = 40 + 3 + 0,8 +0,01 = 43,81. Ich hoffe das System, welches verwendet ist nun deutlich geworden. Nun, das war die Erklärung des Dezimalsystems. Da steckt doch erstaunlich viel dahinter. Nun wird ihnen sicher bewusst sein welche großartige Erfindung die Zahl 0 ist. Der Grund, warum das Dezimalsystem fast überall Verwendung findet, ist die Einfachheit des Systems. Beim Springen auf die nächst höhere Stelle, braucht man nur noch eine 0 hinten dranhängen (von 10 auf 100 usw.) bzw. davor stellen (von 1 auf 0,1 usw.). Dazu lassen sich zahlen auch nach einem ziemlich leichtem Prinzip abkürzen. Zum Beispiel ist 0,002 dasselbe wie 2 x 10-3 und 10000 dasselbe wie 1 x 104. Darauf gehe ich aber nicht näher ein.
Hexadezimalsystem Mit dem Hexadezimalsystem dürften einige schon mal in Kontakt gekommen sein. Das Hexadezimalsystem heißt übersetzt das Sechzehnersystem und was das System mit den Buchstaben. Ich hoffe alle wissen wovon ich spreche. Nun zum System. Das Hexadezimalsystem heißt so, weil man mit einer Stelle 16 Werte darstellen kann, nämlich 0 bis 15, während man beim Dezimalsystem nur 10 Werte darstellen konnte, nämlich 0 bis 9. Zum Glück muss man sich keine neuen Symbole für die Werte 10, 11, 12, 13, 14, 15 lernen, denn das Hexadezimalsystem ist eine „Erfindung“ der Neuzeit und man nimmt einfach die Buchstaben von A bis F, die in der Regel Groß geschrieben werden. Wenn ihr euch das vorherige Kapitel über Dezimalsysteme durchgelesen (und verstanden) habt dürfte euch das Verständnis des Hexadezimalsystems leicht fallen. Also statt nur von 0 bis 9 (10 Symbole)zu zählen zählt man von 0 bis 15 (16 Symbole) und ersetzt die 10 durch das A, 11 durch das B, 12 durch das C und so weiter. Erst wenn man bei „F“, also 15, angelangt ist setzt man die Stelle auf 0 und erhöht die nächst höhere Stelle um 1. Ohne weiter zu theoretisieren zähle ich einfach mal vor. Die obere Zeile gibt die Dezimalzahl und die Untere die Hexadezimalzahl an. Dezimal Hexad. Dezimal Hexad. Dezimal Hexad. Dezimal Hexad. 0 0 10 A 20 14 30 1E 1 1 11 B 21 15 31 1F 2 2 12 C 22 16 32 20 3 3 13 D 23 17 33 21 4 4 14 E 24 18 34 22 5 5 15 F 25 19 35 23 6 6 16 10 26 1A 36 24 7 7 17 11 27 1B 37 25 8 8 18 12 28 1C 38 26 9 9 19 13 29 1D 39 27 4
Diese Liste könnte man noch weiterführen. Nur zur Information FF = 255 (256. Nummer!). Nun zum System, um die Wertigkeit einer Hexadezimalzahl zu bestimmen. Es ist dasselbe Prinzip wie beim Dezimalsystem.
Wert = Anzahl ∗ 16 Stelle
Man nimmt nun nicht mehr 10 sondern 16 im Potenziertem Term, weil man nun nicht mehr nur 10 Werte pro Stelle darstellen kann sondern 16. Die Art der Nummerierung der Stellen ist gleich. Man geht auch hier von rechts aus und beginnt mit 0. Dazu nun ein paar Beispiele: Hexad Rechnung1 Rechnung2 Dezimalwert 1 0 4E (4 x 16 )+(14 x 16 )= 64 + 14 78 1 0 D4 (13 x 16 )+(4 x 16 )= 208 + 4 212 AA (10 x 161)+(10 x 160)= 160 + 10 170 2 1 0 2B3 (2 x 16 )+(11 x 16 )+(3 x 16 )= 512 + 176 + 3 691 So nun können wir (hoffentlich) den Wert einer Hexadezimalzahl bestimmen. In der Praxis ist das sehr viel leichter als es jetzt scheint. Man muss sich klar machen, dass das „A“ der Zahl 10 Entspricht und „F“ der Zahl 15. Dann muss man sich nur merken, dass die erste Stelle (Stelle 0) die Anzahl der Einserstellen (160) angibt und die zweite (Stelle 1) die Anzahl der 16ner (161) angibt. Es kommt praktisch nicht vor, dass man einer Hexadezimalzahl mit mehr als 2 Stellen begegnet (dazu später mehr). Hin und wieder passiert es, dass man mit Hexadezimalzahlen rechnen muss. Zum Glück kommt meistens nur Addition und Subtraktion vor. Dies macht man im Grunde wie man es in der 1. Klasse beim Dezimalsystem gemacht hat. Rückblick: 23 + 8 = 31. Man rechnete so: 3+8=11, 1 hingeschrieben und 1 (die Zehnerstelle) im Sinn, dann zur nächsten Stelle und 2+1=3 für die Zehnerstellen und vor die 1 (für die Einserstelle) hingeschrieben. So rechnet man auch im Hexadezimalsystem. Man nimmt die Erste Stelle (von rechts) und addiert die mit dem Summand. Kommt mehr als 15 raus, so erhöht man die nächst höhere Stelle um 1 und setzt die aktuelle Stelle auf 0 zurück und addiert den Rest. Ich gebe zu, dass das jetzt nicht so leicht zu verstehen ist, aber die Sprache ist nicht genau genug und mein Platz zu beschränkt als das ich es besser beschreiben könnte. Aber warum muss man das Hexadezimalsystem kennen? Nun ja, man muss es nicht kennen, aber wenn man sich als Programmierer betätigt, oder Homepages erstellt, kommt man um Hexadezimalwerte nicht herum. Denn allein mit zwei Stellen kann man 1 Byte darstellen, wobei man im Dezimalsystem 3 Stellen braucht und diese nicht einmal vollständig ausnutzt. 1 Byte kann 256 Kombinationen darstellen und das 2 Stellen im Hexadezimalsystem auch. Für Homepagebastler kommt das eventuell in Frage, weil man Farben auch in Form eines Hexadezimalcodes für die Farbanteile Rot, Grün und Blau von 0 bis 255 eingeben kann. Darüber lasse ich mich aber nicht weiter aus.
5
Binärsystem Das Binärsystem ist das wohl bedeutsamste und gleichzeitig am wenigsten verstandene Zählsystem der heutigen Zeit. Jeder hat schon mal was von „Bits und Bytes“ gehört und weiß, dass im Computer nur mit Nullen und Einsen gerechnet wird. Aber was hat es mit den Nullen und Einsen so auf sich und wie zählt man im Binärsystem? Diese Fragen werde ich mal klären. Viele Menschen widerstrebt die Vorstellung nach einem Zählsystem mit nur zwei Zahlen, aber es so einfach, denn es funktioniert wieder nach genau demselben Prinzip wie vorher. Also eine Stelle kann entweder 0 oder 1 sein. Wenn eine Stelle auf 1 ist und man sie erhöhen will, wie man das beim Zählen so macht, dann muss man sie auf 0 zurücksetzten und die nächsthöhere Stelle (wie gehen wieder von rechts aus) um einen erhöhen. Ich zähle mal vor. Dezimal 0 1 2 3 4 5 6 7 8 9 10 11 Binär 0 1 10 11 100 101 110 111 1000 1001 1010 1011 Ich gebe zu, dass das etwas verwirrend aussieht, aber es ist ganz leicht. Gut zu wissen ist auch wie man den Wert eines Binärcodes errechnet. Ihr habt es euch sicher schon gedacht: Genauso, wie vorher. Das Binärsystem ist aber sehr speziell, sodass es noch leichter ist.
Wert = Anzahl ∗ 2 Stelle
Praktisch dabei ist, dass es für jede Stelle nur zwei Möglichkeiten gibt. Entweder die Stelle hat einen Wert (1) oder sie hat keinen (0). Dann braucht man nämlich nur die Wertigkeiten der Stellen addieren. Ein Binärcode eines Bytes als Beispiel 00101101 = (1x20)+(0x21)+(1x22)+(1x23)+(0x24)+(1x25)+(0x26)+(0x27) = (1x1)+(0x2)+(1x4)+(1x8)+(0x16)+(1+32)+(0x64)+(0x128) = 45 Vielleicht haben einige schon jetzt ein sehr einfaches System entdeckt. Jede Stelle hat einen Wert. Die erste Stelle ist Stelle 0 und hat den Wert 20 = 1. Die zweite Stelle ist Stelle 1 und hat den Wert 21 = 2. Die fünfte Stelle ist Stelle 4 und hat den Wert 24 = 16. Nun muss man nur noch schauen, ob der Wert der Stelle gezählt wird (also 1 ist) oder nicht (wenn er 0 ist). Wenn man dieses System anwendet, dann liest sich das oben genannte Byte so: 1x1, 0x2, 1x4, 1x8, 0x16, 1x32, 0x64 und 0x128. Noch kürzer geht es dann so: 1+4+8+32=45. Noch ein paar Beispiele: 01000011 = (1x1)+(1x2)+(0x4)+(0x8)+(0x16)+(0x32)+(1x64)+(0x128) = 67 10010110 = (0x1)+(1x2)+(1x4)+(0x8)+(1x16)+(0x32)+(0x64)+(1x128) = 150 11111111 = (1x1)+(1x2)+(1x4)+(1x8)+(1x16)+(1x32)+(1x64)+(1x128) = 255
6
Bytecode lesen geht mit etwas Kopfrechnen recht schnell, wenn man sich bewusst macht, dass der Wert eines Bytes nur die Summe aller Wertigkeiten der Stellen, die mit 1 besetzt sind. Das Binärsystem ist sehr einfach, weil es faktisch nur in Byteform vorliegt und acht Stellen (Bits) besitzt und man eh nur Addiert und Subtrahiert. Man kann aber toll angeben, wenn man Text in Bytes umwandelt und umgekehrt. Dazu benötigt man nur eine ASCII Tabelle. Dort liest man für jeden Buchstaben die ASCII Zahl ab („a“ ist z.B. 97) und rechnet die ein Byte um oder umgekehrt. Die Wichtigkeit des Binärcodes dürfte einigen bekannt sein. Jeder Computer rechnet im Binärsystem. Dieses System bzw. der Bytecode bleibt den Nutzern zum Glück verborgen, denn die Programme und Programmiersprachen können Benutzereingaben selbst verarbeiten, sodass der Nutzer nicht selbst den Bytecode eintippen muss. Nur hin und wieder hören wir noch etwas von Bits und Bytes, wenn wir z.B. Farbtiefen einstellen. Wir haben da die Wahl zwischen 1, 8, 16, 24 oder 32 Bit. Dies gibt dann an, wie viele Bytes für die Bestimmung einer Farbe verwendet werden sollen. Bei Verdoppelung der Farbtiefe nimmt dann auch das Datenvolumen um das doppelte zu.
Tabelle mit allen Systemen Hier nun eine Tabelle mit Beispielwerten:
Dezimalzahl Hexadezimalzahl (1 Byte) Binärcode (1 Byte) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 7
00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 00010000 00010001 00010010 00010011 00010100
60 61 62 63 64 65 66 67 68 69 70
3C 3D 3E 3F 40 41 42 43 44 45 46
00111100 00111101 00111110 00111111 01000000 01000001 01000010 01000011 01000100 01000101 01000110
200 201 202 203
C8 C9 CA CB
11001000 11001001 11001010 11001011
255
FF
11111111
Zusammenfassung Also zum Schluss noch mal eine Zusammenfassung: Man fängt immer von Null an zu Zählen. Wenn man (im Dezimalsystem) bei 4 angelangt ist, so ist dies die fünfte Zahl! Und wenn man bei 9 angelangt ist hat man bereits bis 10 gezählt. Wenn man also bei (Byte)11111111 oder (Hexadezimal)FF angelangt sind, haben wir bis 255 gezählt, aber da wir die 0 immer mitzählen haben wir mit 255 die 256igste Kombination! Die Anzahl der Kombinationen in einem System bei einer Zahl ist: Anzahl der Möglichen Kombinationen = (Symbole für jede Stelle)Stellenanzahl. Um die Wertigkeit einer Stelle zu errechnen, muss man deren Nummer genau ermitteln. Vor dem Komma zählt man die Stellen nach oben und geht von rechts nach links unter Einbeziehung der 0 als Stellenanzahl und hinter dem Komma zählt man nach unten und geht von links nach rechts ohne die 0. Die Wertigkeit einer Stelle lässt sich dann leicht mit folgender Formel berechnen. Die Wertigkeit einer Stelle = Anzahl x (Symbole für jede Stelle)Stellenanzahl. Mit einem Byte kann man also 256 verschiedene Kombinationen darstellen, mit 2 Byte (16 Bit) schon 65536 Kombinationen, im Hexadezimalcode kann man mit 3 Zeichen schon 4096 Kombinationen darstellen, wobei man Im Dezimalsystem nur 1000 Kombinationen darstellen kann. Je mehr Symbole zur Verfügung stehen desto mehr Kombinationen gibt es (siehe Lotto).
8
Nachwort Zählen ist ja eigentlich ganz einfach, doch kaum jemand kennt das echte Prinzip hinter dem Zählen. Wenn man das aber kennt ist es kein Problem sich mit anderen Zählsystemen auseinander zusetzen. Ich hoffe Ihr seit nun um eine Erfahrung reicher geworden. ICQ UIN
:
101651332
9