Grundrechenarten

Grundrechenarten mit Dualzahlen (Binärzahlen)

Arithmetische Berechnungen basieren auf elementaren Zahlenarten:

  • Natürliche Zahlen (positiv, ohne Nachkommastellen)
  • Ganze Zahlen (positiv und negativ, ohne Nachkommazahlen)
  • Rationale Zahlen (gebrochene Zahlen)
  • Reelle Zahlen

Diese Zahlen werden im Rechner durch Binärzahlen angenähert. Wie das Dezimalsystem ist auch das Dualsystem ein Stellenwertsystem, d.h. der Wert einer Zahl ergibt sich aus der Stelle in der Zahl multipliziert mit dem Wert der Ziffer.

Beispiel:
a=(12345)10=1*104+2*103+3*102+4*101+5*100
a=(100110)2=1*25+0*24+0*23+1*22+1*21+0*20=32+4+2=38

Addition, Subtraktion, Multiplikation und Division

Wie beim Addieren von Dezimalzahlen treten auch beim Addieren von Dualzahlen Überträge auf. Während es im Dezimalsystem verschiedene Zahlenpaarungen gibt, die zu einem Übertrag führen, ist dies bei den Dualzahlen nur in einem Fall möglich. Deshalb reduzieren sich die Additionsregeln auf die folgenden vier Additionen:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

Beispiel:

    10110
 + 11011
 
  1111
 ______
  110001


Die Subtraktion verläuft im Prinzip genauso wie im Dezimalsystem. Auch hier ist eventuell ein Übertrag zu berücksichtigen. Wie bei den Additionen benötigt man vier Subtraktionsregeln:
0 - 0 = 0
0 - 1 = -1  (1 mit Übertrag 1; 10 - 1 = 1; entspricht dem Verfahren der Dezimalsubtraktion)
1 - 0 = 1
1 - 1 = 0

Beispiel:

   11011
 - 10110

     1    
  _______
   00101


Dieses Verfahren funktioniert wie bei den Dezimalzahlen, solange der Minuend größer ist als der Subtrahend. Ist dies nicht der Fall, erhält man negative Werte.

Die Multiplikation erweist sich schon als etwas komplizierter. Das betrifft aber nicht die Art und Weise des Rechnens, sondern die Addition der einzelnen Ziffern.

Beispiel:

 110 * 11
 -----------
     110
      110
   
    11
 -----------
    10010


 111 * 1111
 ---------------
     111
      111
       111
        111

        1
      10
      1
    10
--------------
    1101001


Beim Übertrag sind folgende Berechnungen zu berücksichtigen:
1+1 = 10
1+1+1= 11
1+1+1+1 = 100

Alternativ lässt sich aber mit Zwischensummen rechnen:

111 * 1111
 ---------------
     111
      111
     -------
    10101
       111
    ---------
    110001
        111
 ---------------
    1101001

An diesem Beispiel wird auch deutlich, dass die Multiplikation auf eine Addition zurückzuführen ist. Das schriftliche Dividieren der Dualzahlen funktioniert wie im Dezimalsystem.
Beispiel:
 110 : 11 =10
 11
 ---
 
00

  1101001 : 111 = 1111
  111
  ---
  1100
   111
  ------
   1010
    111
   ------
     111
     111
    -----
       0

 110 : 1000 = 0,11
 1000
 -------
  1000
  1000
  -------
        0

 110 : 101 = 1,00110011…………
 101
 -----
 1000
  101
 ------
   110
   101
   -----
   1000
    101
   -------
     110
     101
     -------
       1


Das letzte Beispiel veranschaulicht die Aussage „Dezimalzahlen werden durch Binärzahlen angenähert“. 1102 : 1012 entspricht 6 : 5. Im Dezimalsystem ist das Ergebnis 1,2, im Dualsystem eine Periode. Die Division ist auf eine Subtraktion zurückzuführen.

 

Negative Zahlen

Aus der "normalen" Mathematik kennt man  die Darstellung vorzeichenbehafteter Zahlen als Kettung aus "Vorzeichen" und "Betrag". Diese Form der Zahlendarstellung lässt sich auf Computern nur mit erhöhtem Aufwand realisieren.

Da es im Computer nur die Zustände 0 und 1 gibt, existieren zur Darstellung negativer Zahlen unterschiedliche Ansätze:
1. Vorzeichenwert: Zur Darstellung positiver und negativer Zahlen wird ein zusätzliches Bit für das Vorzeichen eingefügt: 0111 entspricht +7, 1111 entspricht -7. Es gibt allerdings zwei Darstellungen für 0: 0000 und 1000.
2. 1er-Komplement: Zunächst wird der Betrag der Zahl dargestellt. Ist die Zahl negativ, wird jedes Bit invertiert. 0111 entspricht +7, 1000 entspricht -7. Auch hier gibt es zwei Darstellungen für die 0: 0000 und 1111.
3. 2er-Komplement: Zunächst wird der Betrag der Zahl dargestellt. Ist die Zahl negativ, wird das 1er-Komplement der Zahl gebildet und anschließend beim niedrigsten Stellenwert 1 addiert. 0111 entspricht wieder der Zahl +7, 1001 entspricht -7 (1er-Komplement 1000 + 1). Als Besonderheit existiert jetzt die negative Zahl -8: 1000.
4. Excess: Zur Zahl wird eine Konstante k hinzuaddiert. Dann wird die Summe der positiven Zahl in die Binärdarstellung gewandelt. Diese Darstellung wird für Zahlen ohne Nachkommastellen verwandt. Die Konstante k hängt von der Bitgröße der zu verwendenden Zahlen ab. Für Excess7 ist k=7, für Excess15 k=15 usw.

Die folgende Tabelle stellt die vier Verfahren noch einmal im Vergleich dar:

Codierung

Vorzeichenwert

1er-Komplement

2er-Komplement

Excess7

1111

-7

-0

-1

8

1110

-6

-1

-2

7

1101

-5

-2

-3

6

1100

-4

-3

-4

5

1011

-3

-4

-5

4

1010

-2

-5

-6

3

1001

-1

-6

-7

2

1000

-0

-7

-8

1

0111

+7

+7

+7

0

0110

+6

+6

+6

-1

0101

+5

+5

+5

-2

0100

+4

+4

+4

-3

0011

+3

+3

+3

-4

0010

+2

+2

+2

-5

0001

+1

+1

+1

-6

0000

+0

+0

0

-7

Das 2er-Komplement hat den Vorteil, dass alle Zahlen nur einmal vorkommen und dass die Vorzeichen denen der entsprechenden Dezimalzahl gleichen. Für die Subtraktion bietet sich damit ein weiteres Verfahren an: Man subtrahiert eine Zahl, indem man ihr Zweierkomplement addiert und den führenden Übertrag ignoriert, falls er den Wert 1 hat; andernfalls zeigt er an, dass das Ergebnis negativ ist. Damit dieses Verfahren richtig funktioniert, muss auf die Anzahl der Stellen geachtet werden. Ist das Ergebnis eine fünfstellige Dualzahl (einschließlich Vorzeichen), müssen auch die Ausgangszahlen fünfstellig notiert werden.

Beispiel:

      011011        011011
    - 010110       +101010    Zweierkomplement
       
                   _______
                   1000101 


Die führende 1 wird gestrichen. Das Ergebis ist 101.