Upload
walborg-kesecker
View
112
Download
4
Embed Size (px)
Citation preview
Zahlensysteme und Dualarithmetik copyleft: munz
Zahlensysteme:
Dualarithmetik:
•
(Binärsystem)
(Sedezimalsystem)
Ende
Dezimalsystem
Dualsystem
Hexadezimalsystem
Oktalsystem
•
•
•
Division
Multiplikation
Subtraktion
Addition• •
•
•
Copyleft: munz
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
168 : 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 Windowstaschenrechnerin wissenschaftlicher Ansicht:
Mehrere Wege zur Berechnung möglich
Copyleft: munz
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
• 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
Oktalsystem
Copyleft: munz
Umwandlung Dual- in Oktalsystem
binär 000 001 010 011 100 101 110 111oktal 0 1 2 3 4 5 6 7dezi. 0 1 2 3 4 5 6 7
1. Zerteilen der Dualzeichenfolge in 3er-Gruppen von rechts beginnend
2. Umschreiben der Dualzahl in eine Oktalzahl
300910
binär 101 111 000 001
oktal 5 7 0 1
= 1011110000012 = 57018
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 = 10 * 81 = 07 * 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
DEZ 0 1 2 3 4 5 6 7BIN 0000 0001 0010 0011 0100 0101 0110 0111HEX 0 1 2 3 4 5 6 7
DEZ 8 9 10 11 12 13 14 15BIN 1000 1001 1010 1011 1100 1101 1110 1111HEX 8 9 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 = 112 * 161 = 19211 * 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
Addition dezimal Addition dual
168
+ 37
205
1
1 0 1 0 1 0 0 0+ 0 0 1 0 0 1 0 1
1
0110011
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
Beispiel:
Subtraktion dezimal Subtraktion dual
168
- 37
131
1
1 0 1 0 1 0 0 0- 0 0 1 0 0 1 0 1
1
1000001
0 - 0 = 0
0 - 1 = 1 Übertrag 1
1 - 0 = 1
1 - 1 = 0
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
Beispiel:
Multiplikation dezimal Multiplikation dual
1
1 * 0 = 0 0 * 0 = 0
0 * 1 = 0 1 * 1 = 1
1 2 * 1 4
1 2
4 8
1 6 8
1 1 0 0 * 1 1 1 0
01
00110011
00110000
0000 111
1
Copyleft: munz
Dualarithmetik - Division• Komplexeste Arithmetik• Rechnung wird an höchster Stelle des Dividenden begonnen
1. Prüfen ob Divisor vollständig abgezogen werden kann (mittels Dualsubtraktion)
2. 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:
1 6 8 / 6 = 2 8
1 2
4 8
4 8
0
10101000 / 110 =
Division dezimal Division dual
00111
1 - 110 geht nicht 10 - 110 geht nicht 101 - 110 geht nicht1010 - 110 geht (Rest 100)1001 - 110 geht (Rest 11) 110 - 110 geht (Rest 0) 0 - 110 geht nicht 0 - 110 geht nicht
000
Copyleft: munz
Division - Rechnung
1 0 1 0 1 0 0 0 / 1 1 0 = 0 0 0 1 1 1 0 0
- 1 1 0
1 0 0 1
- 1 1 0
1 1 0
- 1 1 0
0
Beispiel übersichtlicher: