Zahlensysteme und Dualarithmetik copyleft: munz Zahlensysteme: Dualarithmetik: (Binärsystem)...

Preview:

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:

Recommended