Informatik

Der Computer als System

Der Computer als System

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
  1 1 1 1
    ______
    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
     1 1
-----------
    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
       
                         _______
                         1000101 

Die führende 1 wird gestrichen.

 

 

V.Berg • Bergisch Gladbach • ImpressumHaftungsausschluss