Zahlensysteme und Dualarithmetik copyleft: munz (Binärsystem) Dualsystem Oktalsystem Dezimalsystem (Sedezimalsystem) Hexadezimalsystem Dualarithmetik: Addition Subtraktion Multiplikation Division Ende
Dualsystem (Binärsystem) Basis: 2 Zeichenvorrat: {0;1} Umwandlung von Dezimalsystem in das Dualsystem mit Restdivision (Modulo-Operation) beliebige Zahl dividiert durch 2 ergibt als Rest entweder 0 oder 1 Notwendig für Dualarithmetik Copyleft: munz
Umwandlung Dezimal- in Dualsystem : 2 = 84 Rest 0 84 : 2 = 42 Rest 0 42 : 2 = 21 Rest 0 21 : 2 = 10 Rest 1 10 : 2 = 5 Rest 0 5 : 2 = 2 Rest 1 2 : 2 = 1 Rest 0 1 : 2 = 0 Rest 1 Schreibweise der Ergebnisse in umgekehrter Reihenfolge: 16810 = 101010002 Schnelle Umrechnungen mit dem Windowstaschenrechner in wissenschaftlicher Ansicht: Copyleft: munz Mehrere Wege zur Berechnung möglich
Umwandlung Dual- in Dezimalsystem 101010002 = 1*27+0*26+1*25+0*24+1*23+0*22+0*21+0*20 = 128+0+32+0+8+0+0+0 = 16810 Copyleft: munz
Oktalsystem Basis 8 Zeichenvorrat {0;1;2;3;4;5;6;7} Erleichtert den Umgang mit Dualzahlen Aus 3-Bit-Worten können acht verschiedene Kombinationen dargestellt werden Copyleft: munz
Umwandlung Dual- in Oktalsystem binär 000 001 010 011 100 101 110 111 oktal 1 2 3 4 5 6 7 dezi. Zerteilen der Dualzeichenfolge in 3er-Gruppen von rechts beginnend Umschreiben der Dualzahl in eine Oktalzahl 300910 = 1011110000012 = 57018 binär 101 111 000 001 oktal 5 7 1 Copyleft: munz
Umwandlung Oktal- in Dezimalsystem Zur Umwandlung von Oktal- in Dezimalzahlen einfach die Oktalzahl mit ihrem Stellenwert potenzieren und die Ergebnisse addieren: 5 7 0 1 (8) 1 * 80 = 1 0 * 81 = 0 7 * 82 = 448 5 * 83 = 2560 3009 (10) Copyleft: munz
Umwandlung Dezimal- in Oktalsystem Zur Umwandlung von Dezimal- in Oktalzahlen muss die Dezimalzahl mit Hilfe der Modulo-Operation umgewandelt werden und von der höchsten oktalen Stelle aus gelesen werden: 3009 : 8 = 376 Rest 1 376 : 8 = 47 Rest 0 47 : 8 = 5 Rest 7 5 : 8 = 0 Rest 5 5 7 0 1 (8) Copyleft: munz
Dezimalsystem Basis: 10 Zeichenvorrat: {0;1;2;3;4;5;6;7;8;9} Ziffern besitzen Nenn- und Stellenwert Nennwert: wirklicher Wert der Ziffer Stellenwert: Wert der Ziffer innerhalb der dargestellten Zahl Beispiel: 4186 = 4*1000+1*100+8*10+6*1 = 4*103 +1*102+8*101+6*100 Copyleft: munz
Hexadezimalsystem (Sedezimalsystem) Basis: 16 Zeichenvorrat: {0;1;2;3;4;5;6;7;8;9;A;B;C;D;E;F} In der Praxis können mit wenig Zeichen große Zahlen dargestellt werden Anwendung bei Programmiersprachen, Farbangaben bei Grafikprogrammen zweithäufigst genutztes Zahlensystem (n. DEZ) Verminderte Fehleranfälligkeit Wird auf maschinennaher Umgebung häufig in Assemblersprachen genutzt Copyleft: munz
Hexadezimalsystem - Zeichenvorrat 1 2 3 4 5 6 7 BIN 0000 0001 0010 0011 0100 0101 0110 0111 HEX DEZ 8 9 10 11 12 13 14 15 BIN 1000 1001 1010 1011 1100 1101 1110 1111 HEX A B C D E F Copyleft: munz
Umwandlung Hexadezimal- in Dezimalsystem Die Stellenwerte des Hexadezimalsystems sind Potenzen zur Basis 16. B C 1 (16) 1 * 160 = 1 12 * 161 = 192 11 * 162 = 2816 3009 (10) Copyleft: munz
Umwandlung Dezimal- in Hexadezimalsystem Zur Umwandlung von Dezimal- in Hexadezimalzahlen muss die Reste von unten nach oben angeschrieben werden 3009 : 16 = 188 Rest 1 188 : 16 = 11 Rest 12 11 : 16 = 0 Rest 11 B C 1 (16) Copyleft: munz
Dualarithmetik - Addition stellenweises Rechnen von geringst-wertigen zur höchstwertigsten Stelle, also von rechts nach links Stellenübertrag analog zum Rechnen im Dezimalsystem Zusätzliche Regeln unbedingt beachten: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 Übertrag 1 Copyleft: munz
Addition - Rechnung Beispiel: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 Übertrag 1 Beispiel: Addition dezimal Addition dual 168 + 37 205 1 0 1 0 1 0 0 0 + 0 0 1 0 0 1 0 1 1 1 1 1 1 1 Copyleft: munz
Dualarithmetik - Subtraktion stellenweises Rechnen von geringst-wertigen zur höchstwertigsten Stelle, also von rechts nach links Stellenübertrag analog zum Rechnen im Dezimalsystem Zusätzliche Regeln unbedingt beachten: 0 - 0 = 0 0 - 1 = 1 Übertrag 1 1 - 0 = 1 1 - 1 = 0 Copyleft: munz
Subtraktion - Rechnung 0 - 0 = 0 0 - 1 = 1 Übertrag 1 1 - 0 = 1 1 - 1 = 0 Beispiel: Subtraktion dezimal Subtraktion dual 168 - 37 131 1 0 1 0 1 0 0 0 - 0 0 1 0 0 1 0 1 1 0-1=1 Übertrag 1 0-0=0 --> 0-1=1 Übertag 1 0-1=1 Übertrag 1 --> 1-1=0 ÜBERTRAG MITNEHMEN 1-0=1 --> 1-1=0 0-0=0 1-1=0 1-0=1 1 1 1 1 1 Berechnung auch über Komplementbildung möglich Copyleft: munz
Dualarithmetik - Multiplikation Vorgehensweise simultan zur schriftlichen Multiplikation im Dezimalsystem Kein Stellenübertrag Ergebnisse aus Teilmultiplikationen werden zu Summe addiert (Dualaddition) Zusätzliche Regeln unbedingt beachten: 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1 Copyleft: munz
Multiplikation - Rechnung 1 * 0 = 0 0 * 0 = 0 0 * 1 = 0 1 * 1 = 1 Beispiel: Multiplikation dezimal Multiplikation dual 1 1 0 0 * 1 1 1 0 1 2 * 4 8 6 1 1 1 1 1 1 1 1 1 1 1 1 Copyleft: munz
Dualarithmetik - Division Komplexeste Arithmetik Rechnung wird an höchster Stelle des Dividenden begonnen Prüfen ob Divisor vollständig abgezogen werden kann (mittels Dualsubtraktion) Ja: Notierung einer 1 im Ergebnis und mit Rest weiterrechnen. Nein: Notierung einer 0 im Ergebnis, eine Stelle nach rechts rücken und nochmals prüfen Copyleft: munz
Division - Rechnung Beispiel: Division dezimal Division dual 1 6 8 / = - Division - Rechnung 1 Beispiel: 1 - Division dezimal Division dual 1 1 1 6 8 / = 2 4 10101000 / 110 = 1 1 1 1 - 110 geht nicht 10 - 110 geht nicht 101 - 110 geht nicht 1010 - 110 geht (Rest 100) 1001 - 110 geht (Rest 11) 110 - 110 geht (Rest 0) 0 - 110 geht nicht Copyleft: munz
Division - Rechnung Beispiel übersichtlicher: 1 / = - Copyleft: munz