• Keine Ergebnisse gefunden

3 Rechnen mit Binärzahlen

N/A
N/A
Protected

Academic year: 2022

Aktie "3 Rechnen mit Binärzahlen"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

3 Rechnen mit Bin¨ arzahlen

3.1 Darstellung von Bin¨ arzahlen

Seit der Schule sind wir mit unserem klassischen Dezimalsystem wohlvertraut.

Im Dezimalsystem l¨asst sich jede Zahl als Summe von Zehnerpotenzen darstellen, z.B.:

9103 = 9·1000 + 1·100 + 0·10 + 3·1

= 9·103+ 1·102+ 0·101+ 3·100 274 = 2·100 + 7·10 + 4·1

= 2·102+ 7·101+ 4·100

Allgemein k¨onnen wir jede nat¨urliche Zahl im Dezimalsystem darstellen als anan−1. . . a1a0 =an·10n+an−1·10n−1+. . .+a1·101+a0·100 =

n

i=0

ai ·10i

mit den Ziffernai ∈ {0,1, . . . ,9}.

Schreibweise: Um zu kennzeichnen, dass eine Zahl als Dezimalzahl interpretiert werden soll, verwenden wir den Index 10 und schreiben

z10 =anan−1. . . a1a0 =

n

i=0

ai·10i

Die Darstellung von Zahlen als Summe von Zehnerpotenzen l¨asst sich auf andere Potenzen ¨ubertragen. Z.B. k¨onnen wir die Zweierpotenzen betrachten. Als Ziffern stehen uns dann 0 und 1 zur Verf¨ugung. Dann gilt z.B.

101 = 1·22+ 0·21+ 1·20

11001 = 1·24+ 1·23+ 0·22+ 0·21+ 1·20 1000 = 1·23+ 0·22+ 0·21+ 0·20

Allgemein k¨onnen wir jede Zahl im Zweiersystem darstellen als anan−1. . . a1a0 =an·2n+an−1·2n−1+. . .+a1·21+a0·20 =

n

i=0

ai·2i

mit den Ziffernai ∈ {0,1}. Diese Zahlen im Zweiersystem heißenBin¨arzahlen.

Schreibweise: Um zu kennzeichnen, dass eine Zahl als Bin¨arzahl interpretiert werden soll, verwenden wir den Index 2 und schreiben

z2 =anan−1. . . a1a0 =

n

i=0

ai·2i

(2)

Im obigen Beispiel k¨onnen wir die Bin¨arzahlen ganz einfach in Dezimalzahlen umrechnen:

1012 = 1·22+ 0·21+ 1·20 = 510

110012 = 1·24+ 1·23+ 0·22+ 0·21+ 1·20 = 2510 10002 = 1·23+ 0·22+ 0·21+ 0·20 = 810

Will man umgekehrt eine Dezimalzahl in eine Bin¨arzahl umrechnen, muss man pr¨ufen, welche Zweierpotenzen in der Dezimalzahl stecken, z.B.

4110 = 32 + 8 + 1

= 1·25+ 0·24+ 1·23+ 0·22+ 0·21+ 1·20

= 1010012

6310 = 32 + 16 + 8 + 4 + 2 + 1

= 1·25+ 1·24+ 1·23+ 1·22+ 1·21+ 1·20

= 1111112

Bin¨arzahlen spielen in der Informatik und in der digitalen Signalverarbeitung eine wichtige Rolle. Alle Zahlen im Computer werden letztendlich als Bin¨arzahlen dargestellt. 1 bedeutet: Strom fließt, 0 bedeutet: Strom fließt nicht.

Ganz allgemein lassen sich beliebigep-Zahlensysteme konstruieren: Sie ben¨otigen pverschiedene Zeichen und k¨onnen dann einep-Zahl als Summe von p-Potenzen wie folgt definieren:

zp =anan−1. . . a1a0 =an·pn+an−1·pn−1+. . .+a1·p1+a0·p0 =

n

i=0

ai·pi

mit den Zeichen ai ∈ {0,1, . . . , p−1}.

Neben dem Dezimalsystem (p=10) und dem Bin¨arsystem (p=2) spielen in der Informatik noch folgende Zahlensysteme eine Rolle:

Oktalzahlen:p= 8, ai ∈ {0,1,2,3,4,5,6,7}, z.B.

1758 = 1·82+ 7·81+ 5·80 = 6410+ 5610+ 510 = 12510 2638 = 2·82+ 6·81+ 3·80 = 12810+ 4810+ 310 = 17910

558 = 5·81+ 5·80 = 4010+ 510 = 4510

Hexadezimalzahlen: p= 16, ai ∈ {0,1, . . . ,8,9, A, B, C, D, E, F}, z.B.

4A16 = 4·161+160 = 6410+ 1010 = 7410

(3)

3.2 Rechnen mit Bin¨ arzahlen

In den n¨achsten beiden Abschnitten lernen wir, wie man Bin¨arzahlen addiert und multipliziert.

3.2.1 Addition

F¨ur die Addition zweier Bin¨arzahlen gilt folgende Additionstabelle:

+ 0 1

0 0 1

1 1 0 (merke 1) Beispiele:

111 1112 = 22+ 21+ 20 = 710 1101 11012 = 23+ 22+ 20 = 1310

1 1 1 1

10100 101002 = 24+ 22 = 2010

Andererseits ist auch 710+ 1310 = 2010

101100 1011002 = 25+ 23+ 22 = 4410

+ 111011 1110112 = 25+ 24+ 23+ 21+ 20 = 5910

1 1 1

1100111 11001112 = 26+ 25+ 22+ 21+ 20 = 10310 Andererseits ist auch 4410+ 5910 = 10310

1000100 10001002 = 26+ 22 = 6810

+ 1010101 10101012 = 26+ 24+ 22+ 20 = 8510

1 1

10011001 100110012 = 27 + 24+ 23 + 20 = 15310 Andererseits ist auch 6810+ 8510 = 15310 Weitere Aufgaben zum ¨Uben:

10010 + 110 =

1101 + 1101 =

111 + 10101 = 11111 + 11111 = 1100101 + 1001101 = 11100 + 100010 =

(4)

3.2.2 Multiplikation

F¨ur die Multiplikation zweier Bin¨arzahlen gilt folgende Multiplikationstabelle:

· 0 1 0 0 0 1 0 1 Beispiele:

1101·1001 11012 = 23+ 22+ 20 = 1310 1101000 10012 = 23+ 20 = 8 + 1 = 910

1101

1

1110101 11101012 = 26+ 25 + 24+ 22+ 20 = 11710 Andererseits ist auch 1310·910 = 11710

110011·101010 1100112 = 25+ 24+ 21+ 20 = 5110 11001100000 101010 = 25+ 23+ 21 = 4210

110011000 1100110

1 1 1 1 1 1

100001011110 211+ 26+ 24+ 23+ 22+ 21 = 214210 Andererseits ist auch 5110·4210= 214210

Weitere Aufgaben zum ¨Uben:

10010 · 110 =

1101 · 1101 = 111 · 10101 = 11111 · 11111 = 1100101 · 1001101 = 11100 · 100010 =

3.3 Zweierkomplement

Im Computer stehen nur endlich viele Stellen f¨ur die Darstellung von Zahlen zur Verf¨ugung. Wir wollen untersuchen, wie viele Zahlen man damit codieren kann, d.h. welchen Zahlenbereich man damit darstellen kann.

Betrachten wir zun¨achst den einfachen Fall, dass uns 3 Bits zur Verf¨ugung stehen.

Dann k¨onnen wir insgesamt 23 = 8 Zahlen darstellen, n¨amlich die Zahlen von 0

(5)

000 0 100 4

001 1 101 5

010 2 110 6

011 3 111 7

Wir k¨onnten jedoch auch das erste Bit verwenden, um ein Vorzeichen zu codieren:

0 bedeutet + und 1 bedeutet. Dann stehen f¨ur die Darstellung der eigentlichen Zahl nur zwei Bits zur Verf¨ugung, und zwar wird festgelegt:

000 0 100 − −4

001 1 101 − −3

010 2 110 − −2

011 3 111 − −1

Auch in diesem Fall k¨onnen wir 23 = 8 Zahlen codieren und zwar die Zahlen von

4 bis 3. Diese Festlegung f¨ur die Darstellung negativer Bin¨arzahlen nennt man Zweierkomplement.

Mit dem Zweierkomplement k¨onnen wir wie gewohnt rechnen:

010 = (3 + (3))10 = 0112+ 1012 = (1000)2 = 0002 010 = (2 + (2))10 = 0102+ 1102 = (1000)2 = 0002 010 = (1 + (1))10 = 0012+ 1112 = (1000)2 = 0002

Wenn uns statt drei Bit vier Bit zur Verf¨ugung stehen, dann k¨onnen wir insgesamt 24 = 16 Zahlen darstellen, und zwar entweder die positiven Zahlen von 0 bis 15:

0000 0 1000 8

0001 1 1001 9

0010 2 1010 10

0011 3 1011 11

0100 4 1100 12

0101 5 1101 13

0110 6 1110 14

0111 7 1111 15

oder wir verwenden wieder das erste Bit f¨ur die Codierung des Vorzeichens und codieren damit die Zahlen von8 bis 7:

0000 0 1000 − −8

0001 1 1001 − −7

0010 2 1010 − −6

0011 3 1011 − −5

0100 4 1100 − −4

0101 5 1101 − −3

0110 6 1110 − −2

0111 7 1111 − −1

(6)

Auch dann gilt wieder wie man erwarten w¨urde:

z2+ (−z)2 = 02

Im allgemeinen Fall stehen unsn Bits zur Verf¨ugung. Damit k¨onnen wir 2n Zah- len codieren, n¨amlich entweder die positiven Zahlen von 0 bis 2n1, oder wir verwenden das erste Bit f¨ur die Vorzeichencodierung (0 bedeutet + und 1 bedeu- tet ) und k¨onnen dann die Zahlen von 2n−1 bis 2n−11 darstellen. F¨ur das Zweierkomplement gilt in jedem Fall:

z2+ (−z)2 = 02

In der Praxis sind die F¨alle n = 32 bzw. n = 64 relevant, und zwar f¨ur die Darstellung von Zahlen in 32-Bit- bzw. 64-Bit-Rechnerarchitekturen.

Frage: Wie kann man das Zweierkomplement schnell und einfach berechnen?

Antwort: Das geht mit folgendem Algorithmus:

1. In Bin¨arzahl umrechnen 2. Mit Nullen auff¨ullen 3. Komplement bilden 4. 1 addieren

Beispiel 1: Berechnen Sie das Zweierkomplement von 12 mit 5 Bits.

1. 1210= 810+ 410 = 1·23+ 1·22 = 11002 2. 11002 011002

3. 011002 100112 4. 100112+ 12 = 101002

Das Zweierkomplement von 12 mit 5 Bits ist 10100.

Beispiel 2: Berechnen Sie das Zweierkomplement von 12 mit 8 Bits.

1. 1210= 810+ 410 = 1·23+ 1·22 = 11002 2. 11002 000011002

3. 000011002 111100112 4. 111100112+ 12 = 111101002

Das Zweierkomplement von 12 mit 8 Bits ist 11110100.

Weitere Aufgaben zum ¨Uben: Berechnen Sie das Zweierkomplement von 121 bei 8 Bits

37 bei 6 Bits 127 bei 8 Bits

Referenzen

ÄHNLICHE DOKUMENTE

Konstante Funktionen sind spezielle lineare Funktionen Gilt m = 0 so liegt eine konstante Funktion vor: f (x) = b Der Funktionswert ist unabh¨ angig von x immer gleich b. Der

Die Differentialrechnung besch¨ aftigt sich somit mit der St¨ arke von Ver¨ anderungen an einer bestimmten Stelle einer Funktion.. Die durchschnittliche St¨ arke der Ver¨ anderung

Hinweis: Eine Aufgabe kann nur dann bewertet werden, wenn der L¨ osungsgang ersichtlich ist.. Alle Aufgaben werden

Hunderter Zehner Einer das ist die Zahl. Hunderter Zehner Einer das ist

Ein Hinweis zur Visualisierung: Plotten Sie beide Funktionen zun¨ achst mittels fplot auf dem Intervall [1.8, 2.2], dann mittels plot uber dem Vektor ¨ x gegeben durch.. x

Bearbeiten Sie Aufgabe 3 des Aufgabenblattes 2.. b) Approximieren Sie dieselben Integrale mit der summierten Simpson -Regel (Seite 29 des Skriptes). Verfeinern Sie die Zerlegungen

Jede Menge nat¨ urlicher Zahlen, die die Null enth¨ alt und mit jedem Element auch dessen Nachfolger, ist die Menge der nat¨ urlichen Zahlen.. Man nutzt dieses Prinzip aus, wenn man

Du kennst und verstehst den Satz von Abel-Ruffini : Eine allgemeine Polynom- gleichung f¨ unften oder h¨ oheren Grades kann nicht durch Wurzelausdr¨ ucke aufgel¨ ost werden7.