Webentwicklung, Widget, Wordpress

29. Januar 2009

Rechenoperationen im Dualenzahlensystem

1. Das Zahlensystem

Unser tägliches Leben wird durch Zahlen bestimmt. Das fängt meist schon am Morgen beim Aufstehen an (Uhrzeit), und verfolgt uns den ganzen Tag.
Oder wie sollten wir beispielsweise etwas ohne Mengenangabe einkaufen?
Dafür haben wir unsere Zahlensysteme, sie dienen zur Darstellung von Informationen. Ein bestimmter Mengenbegriff z.b. neunundzwanzig, kann man auf verschiedene Arten darstellen. Um Verwechslungen zu vermeiden, wird die Basis des Zahlensystems als Index angegeben.

2910 = 11012 = 358 = 1D16

Das für uns im Alltag gebräuchliche Zahlensystem ist das Dezimal System ( dezi = zehn) mit der Basis:10 und den Ziffern 0-9
Neben dem Dezimalsystem gibt es noch weitere bekannte Zahlensysteme z.b. das Dualsystem ( dual = zwei ), das Oktalsystem ( oktal = acht ) und das Hexadezimalsystem ( hexadezimal = sechs-zehn ).

1.1 Die Basis

Sie ist die Mathematische Grundlage eines Zahlensystems und gibt uns alle Informationen die wir für dieses Zahlensystem brauchen. (Tabelle 1.1)
- Der Ziffernvorrat (entspricht der Basis) ist die Anzahl der zur Verfügung stehenden Ziffern.
- Die Stellenwerte sind die Potenzwerte der Basis. Der Wert einer Ziffer hängt von der Stelle ab, an der sie innerhalb einer Zahl steht.

Beispiel: zur Berechnung einer Zahl im Dezimalsystem, um die obige Erläuterung zu überprüfen.

1.2 Das Dualsystem ( Binärsystem)

Die Bezeichnung Dual wurde vom lateinischen Zahlenwort Duo = 2 abgeleitet. Das heisst, dass nur zwei Zahlen erforderlich sind, 0 und 1. Auch hier steigen die Potenzen wieder von rechts nach links von Stellen zu Stelle um 1 an.
Die einzelnen Potenzspalten nennt man auch Bit-Stellen.
Mit der durch das Dualsystem gewonnenen Ziffernfolge heißt 10 natürlich nicht < >, sondern < >, weil ihr nicht der Wert 10, sondern der Wert 2 zukommt.
Das Dualsystem hat die Basis: 2 mit den Ziffern 0 und 1(Tabelle1.2)

Beim Dualsystem ist das Prinzip dasselbe, man hat nur einen kleineren Zahlenvorrat.

2. Umrechnen (Konvertieren)

Um von einem Zahlensystem zu einem anderen zu kommen, muss man es umrechnen.

2.1 Dezimalzahlen in Dualzahlen ( ohne Kommastelle)

Beispiel die Dezimalzahl 171 soll umgewandelt werden.
171 :2 =85 Rest 1 Die Umwandlung vom Dezimalsystem in ein
85 :2 =42 Rest 1 Dualsystem erfolgt aus der fortgesetzten
42 :2 =21 Rest 0 Division durch 2, mit Rest. Das heisst, das
21 :2 =10 Rest 1 Ergebnis muss eine natürliche Zahl sein.
10 :2 =5 Rest 0 ↑Leserichtung
5 :2 =2 Rest 1 Den Restwert in der richtigen Reihenfolge
2 :2 =1 Rest 0 aufschreibe. Kein Rest ergibt 0.
1 :2 =1 Rest 1 Ergebnis: 17110 = 101010112

Dezimalzahlen in Dualzahlen ( mit Kommastelle )

Als Beispiel wird die Dezimalzahl 39.6875 in binärer Form darstellen.
1.Umwandlung der natürlichen Zahl 2. Umwandlung des Nachkommastellenanteils
39 :2 =19 Rest 1 0.6875 *2 =1.375 1 abspalten
19 :2 =9 Rest 1 0.375 *2 =0.75 0 abspalten
9 :2 =4 Rest 1↑ 0.75 *2 =1.5 1 abspalten↓
4 :2 =2 Rest 0 0.5 *2 =1 1 abspalten
2 :2 =1 Rest 0
1 :2 =0 Rest 1 ↑↓ = Leserichtung
Ergebnis: 3910 = 1001112 Ergebnis: 0.687510 = 0.10112
Insgesamt: 39.687510 = 100111.10112

2.2 Dualzahlen in Dezimalzahlen

Das Umrechnen vom Dualsystem in das Dezimalsystem geht bedeutend einfacher, man rechnet einfach die Ziffer mal die dazugehörende Potenz. Wenn man dies mit allen Stellen gemacht hat, kann man die Ergebnisse addieren und erhält die der Dualzahl entsprechende Dezimalzahl.
Beispiel:
Vor Komma 1001112 = 1*25 + 0*24 + 0*23 + 1*22 + 1*21 + 1*20
= 32 + 0 + 0 + 4 + 2 + 1 = 3910
Nach Komma 0.10112 = 1*2-1 + 0*2-2 + 1*2-3 + 1*2-4
= 0.5 + 0 + 1/8 + 1/16 = 0.687510 = 39.687510

3. Arithmetik

Analog zu Zahlen im Dezimalsystem lassen sich mit Dualzahlen die gängigen arithmetischen Grundoperationen Addition, Subtraktion, Multiplikation und Division durchführen. Tatsächlich werden die benötigten Algorithmen sogar einfacher und lasse sich effizient mit logischen Schaltungen elektrisch realisieren. Die Einführung von Dualzahlen in der Rechentechnik brachte daher viele Vorteile.

3.1 Die Addition von Dualzahlen

Das Addieren von Dualerzahlen ist dem Addieren im Dezimalsystem sehr ähnlich. Es wird stellenweise addiert, entsteht ein Übertrag, so geht dieser auf die nächste Stelle.

Die Rechenregeln für die Addition zweier Binärzahlen lauten:

Beispiel ohne Komma: 1410+610 Beispiel mit Komma: 151.87510+27.62510

1410 11102 151.87510 10010111.1112
+610 +1102 +27.62510 + 11011.1012
10 11100 ( Übertrag ) 1 1 1 1 1 1 1 1 1 1 1
2010 101002 179.510 10110011.12

3.2 Die Subtraktion und das Zweierkomplement

Für die Subtraktion gibt es zwei Rechenvarianten, die gewöhnliche, die wir auch im Dezimalsystem verwenden und die Subtraktion mit Zweierkomplement.

3.2.1 Subtraktion von Dualzahlen

Man gelangt zur Subtraktion über die Addition, wenn man bei bekannter Summe nach einem Summanden fragt. z.b. 310 + ? = 1010 ↔ 1010 – 310 = ?

Die Rechenregeln für die Subtraktion zweier Binärziffern lauten:

Beispiel ohne Komma: 1310+1110 Beispiel mit Komma: 27.7510-13.510

1310 11012 27.7510 11011.112
- 1110 -10112 -13.510 -1101.12
1 ( Übertrag ) 1 1 1 1
210 00102 14.2510 1110.012

3.2.1 Die Subtraktion mit Komplement

Komplementbildung

Das Komplement ( Stellenkomplement ) einer n- stelligen Zahl ist deren Ergänzung zum nächst grösseren Wert der Potenz. So ist z.B. das Komplement der Dezimalzahl 6 die Dezimalzahl 4, denn die nächst grössere Potenzstelle ist 101 = 10 ( Basis ist 10, die Ziffer 6 ist einstellig), und die Ergänzung von 610 zu 1010 ist 410.
Das Zweierkomplement einer dualen Zahl erhält man durch Bildung des Stellenkomplements und dem Addieren von 1 zum Ergebnis. Stellt man auf diese Weise eine negative Zahl dar, so kann man die Subtraktion in eine Addition umwandeln und wie mit positiven Zahlen rechnen. Das Vorzeichen des Ergebnisses lässt sich dann am MSB ablesen.
( MSB : Most Significant Bit, höchste Stelle der Binärzahl, positiv: MSB = 0, negativ: MSB = 1 )

1.Beispiel einer Subtraktion mit Zweierkomplement: ( 710-410 )

Umrechnen, und auf nächste 710 = 01112
Bit-Stelle mit 0 erweitern 410 = 01002

Stellenkomplement von 410 1011
wird mit 1 addiert +1
Zweierkomplement von 410 1100

710 01112
Zweierkomplement von 410 +11002
Ergebnis positiv, da MSB = 0 00112
↑ = MSB
2.Beispiel ( 1210-1710 )

Umrechnen, und auf nächste 1210 = 0011002
Bit-Stelle mit 0 erweitern 1710 = 0100012

Stellenkomplement von 1710 101110
wird mit 1 addiert +1
Zweierkomplement von 1710 101111

1210 0011002
Zweierkomplement von 1710 +1011112
Zwischenergebnis ( negativ, da MSB = 1 ) 1110112 Achtung!
Stellenkomplement des Zwischenergebnisses 000100
wird mit 1 addiert +1
Ergebnis 0001012
Überarbeitung: 1210 – 1710 = -510  0011002 – 0100012 = -1012
↑=MSB negativ
3.3 Die Multiplikation

Die Multiplikation mehrstelliger Binärenzahlen, wie von der Multiplikation im Dezimalsystem gewohnt, ist die Multiplikation des 1.Faktors mit den einzelnen Stellen des 2.Faktors und stellenrichtig Addition der Zwischenergebnisse.

Die Rechenregeln für die Multiplikation
zweier Binärenzahlen lauten:

1.Beispiel: ( 610* 1310 = 7810) 2.Beispiel: ( 10.510* 5.7510 = 60.37510)
1102 * 11012 1010.12 * 101.112
110 10101
000# 10101
110## 10101
+110### +10101
1 1 ( Übertrag ) 1 1 10 1 10011102 = 7810 1111000112

Nach stellenrichtigem Einfügen des Kommas erhält man das Resultat.
Überarbeitetes Ergebnis 2.Beispiel: 111100.0112 = 60.37510

Verschieben

Wird eine Binärzahl mit einer Zweierpotenz 2n multipliziert, so entspricht dies, gleich einer Multiplikation mit einer Potenz von 10 in Zehnersystem, einer Verschiebung dieser Zahl um n Stellen nach links.

Beispiel: (1210 * 810 = 9610)
11002 * 10002 = 11000002

3.4 Die Division

Auch in der binären Division lassen sich Vergleiche mit dem für uns gewohnten Dezimalsystem finden.
So wird auch im Dualsystem durch das stellenrichtige Subtrahieren des Divisors vom Dividenden das Ergebnis ermittelt.

1.Beispiel: ( 2510 : 510 = 510 ) 2. Beispiel: ( 2010 : 610 = 3.3333..10)
110012 :1012 = 1012 101002 : 1102 = 11.0101. . 2
– 101↓↓ -110↓
0010 1000
– 101↓ -110
101 01000
-101 -110
0 1000
-110
. . . .
Man erhält in diesem Fall also auch in der Binärdarstellung einen unendlich periodischen Bruch.