28.12.2013 Aufrufe

Übungsblatt 03: Rechnen im dualen Zahlensystem - Lehrstuhl für ...

Übungsblatt 03: Rechnen im dualen Zahlensystem - Lehrstuhl für ...

Übungsblatt 03: Rechnen im dualen Zahlensystem - Lehrstuhl für ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Einführung in die Wirtschaftsinformatik<br />

WS2008/2009<br />

Andreas Gäbler/ Juliane Arnold<br />

Universität Potsdam<br />

<strong>Lehrstuhl</strong> <strong>für</strong> Wirtschaftsinformatik und Electronic Government<br />

<strong>Übungsblatt</strong> <strong>03</strong>: <strong>Rechnen</strong> <strong>im</strong> <strong>dualen</strong> <strong>Zahlensystem</strong><br />

Das Bit<br />

- kleinste Informationseinheit, kann zwei Zustände annehmen (engl.: binary digit)<br />

- binäre Zahlen können sehr lang werden, <strong>für</strong> den „normalen“ Menschen schwer zu merken <br />

je 4 bit werden deshalb zu einem neuen System mit der Basis 16 zusammengefasst<br />

Die Tetrade (Nibble, Halbbyte)<br />

- Umfasst dez<strong>im</strong>alen Werteumfang von 0 bis 15 (16 Werte)<br />

- verwendet die Werte 0 – 9 sowie die ersten sechs Buchstaben <strong>im</strong> Alphabet A – F (sedez<strong>im</strong>ale<br />

Darstellung)<br />

- Grundlage <strong>für</strong> das Hexadez<strong>im</strong>ale <strong>Zahlensystem</strong><br />

Das Byte<br />

-------------- Rechenbeispiel -------------<br />

Basis 4096 256 16 1 Stellenwert zur Basis 16<br />

Hex-Wert 7 C 3 E<br />

Dez-Wert 7 12 3 14 = 7 * 4096 + 12 * 256 + 3 * 16 + 14 * 1<br />

= 31.806 10<br />

- ein Byte (engl.: by eight) wird durch 8 bit dargestellt<br />

- 1 Byte kann 256 Zustände darstellen damit ist es möglich, alle häufig gebrauchten Zeichen<br />

(alphabetische, numerische und Sonderzeichen) zu codieren<br />

- größte darstellbare Zahl ist die die dez<strong>im</strong>ale 255, in Dualschreibweise 11111111<br />

<strong>Rechnen</strong> mit Binärwerten<br />

- bei der Codierung von Zeichen ist die Zuordnung zu Binärwerten beliebig, wird dann aber in<br />

einem Codemodell erfasst<br />

- Umrechnung von Zahlen erfolgt nach streng mathematischen Vorschriften.<br />

Umrechnung von binären in dez<strong>im</strong>ale Zahlen<br />

Umrechnung und Darstellung über Potenzschreibweise<br />

Beispiel:<br />

1011 2 = 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0<br />

= 1*8 + 0*4 + 1*2 + 1*1 = 11 10<br />

Umrechnung von dez<strong>im</strong>alen in binäre Zahlen<br />

Umrechnung der Dez<strong>im</strong>alzahlen über die "Division mit Rest" teilen der Zahl durch 2 bis als<br />

Ergebnis 0 herauskommt dabei wird der Rest jeweils notiert.<br />

Beispiel:<br />

19 / 2 = 9 Rest 1<br />

9 / 2 = 4 Rest 1<br />

4 / 2 = 2 Rest 0<br />

2 / 2 = 1 Rest 0<br />

1 / 2 = 0 Rest 1<br />

Rest = 10011 2<br />

20 / 2 = 10 Rest 0<br />

10 / 2 = 5 Rest 0<br />

5 / 2 = 2 Rest 1<br />

2 / 2 = 1 Rest 0<br />

1 / 2 = 0 Rest 1<br />

Rest: 10100 2<br />

Kilobyte, Megabyte, Gigabyte<br />

- Ein Kilobyte ca. tausend Byte 2 10 Byte = 1.024 Byte<br />

- Ein Megabyte ca. eine Million Byte 2 20 Byte = 1.048.576 Byte<br />

- Ein Gigabyte ca. eine Milliarde Byte 2 30 Byte = 1.073.741.824 Byte<br />

Seite 1


Einführung in die Wirtschaftsinformatik<br />

WS2008/2009<br />

Addition von Dualzahlen<br />

- Addition funktioniert wie bei der Addition von Dez<strong>im</strong>alzahlen:<br />

0101 2<br />

+1001 2<br />

====<br />

1110 2<br />

Grundsätzliche Rechenregeln:<br />

Binärsystem 0+0=0, 1+0=1, 1+1=0 Übertrag 1 10 2 .<br />

Dez<strong>im</strong>alsystem 0+0=0, 1+0=1, … 9+0=9 9+1=0 Übertrag 1 10 10<br />

Analogie zum Dez<strong>im</strong>alsystem Übertrag<br />

Übertrag wird bei beiden Systemen jeweils voran gestellt.<br />

Andreas Gäbler/ Juliane Arnold<br />

Universität Potsdam<br />

<strong>Lehrstuhl</strong> <strong>für</strong> Wirtschaftsinformatik und Electronic Government<br />

Das Problem - Überlauf<br />

Bei der Addition gibt es einen Haken: Die Addition kann nur innerhalb eines best<strong>im</strong>mten<br />

Wertebereiches problemlos realisiert werden.<br />

In der Realität kann jede beliebig große Zahl dargestellt werden. In der Informatik wird der<br />

Werteumfang durch die Verarbeitungsbreite der Computertechnik bzw. der Betriebssysteme<br />

eingeschränkt. Zur Anschaulichkeit wird in den Beispielen der Wertebereich auf ein Byte begrenzt:<br />

- Die größte darstellbare Zahl: 1111 1111 2 = 255 dez<strong>im</strong>al<br />

- Vorgehensweise bei der Addition 1111 1111 2 + 0000 0001 2 = 255 + 1 dez<strong>im</strong>al<br />

Ergebnis: 0000 0000 2 (also 0) = 256 (???)<br />

Übertrag in der höchsten Stelle (Bit 2 7 ) auf die Stelle 2 8<br />

Übertrag kann allerdings nicht gespeichert werden wird deshalb einfach gestrichen<br />

- Damit gibt es durch den beschränkten Wertebereich eine obere Grenze.<br />

Bei der Addition von 1 fängt dieser Wertebereich wieder von vorne an Damit existiert eine<br />

unendliche Zählreihe von 0 bis 255 0 bis 255 usw.<br />

Das Einerkomplement<br />

Bevor eine Subtraktion realisiert werden kann, muss das Komplement der Dualzahl gebildet werden<br />

Einerkomplement<br />

Dabei wird jede Zahl durch ihr Gegenteil (Komplement) ersetzt Formale Vorgehensweise<br />

Beispiel:<br />

Wert 0101 0101 2 1111 0000 2<br />

Gegenteil<br />

(Einerkomplement)<br />

1010 1010 2 0000 1111 2<br />

Das Zweierkomplement<br />

entspricht dem Einerkomplement zusätzlich erfolgt eine Addition von 1 2 in der niedrigsten Stelle<br />

Beispiel:<br />

Einerkomplement 1010 1010 2 0000 1111 2<br />

Addition +1 1 2 1 2<br />

Zweierkomplement 1010 1011 2 0001 0000 2<br />

Subtraktion von Dualzahlen<br />

Subtraktion zweier Zahlen erfolgt durch Addition des Zweierkomplementes<br />

Beispiel:<br />

Dez<strong>im</strong>al 12 10 – 7 10 = 5 10<br />

- 7 0000 0111 2 Einerkomplement 1111 1000 2 Zweierkomplement 1111 1001 2<br />

- Addition 0000 1100 + 1111 1001 = 0000 0101 2 Übertrag 1<br />

Ergebnis: 0000 0101 2 = 5 10 Der Übertrag wird nicht gespeichert<br />

Multiplikation von Dualzahlen<br />

entspricht einem Verschieben der Ziffern nach links (Links-Shift)<br />

Seite 2


Einführung in die Wirtschaftsinformatik<br />

Andreas Gäbler/ Juliane Arnold<br />

Universität Potsdam<br />

WS2008/2009<br />

<strong>Lehrstuhl</strong> <strong>für</strong> Wirtschaftsinformatik und Electronic Government<br />

Beispiel:<br />

15 10 * 2 10 = 30 10 0000 1111 * 0000 0010 = 0001 1110 2<br />

15 10 * 4 10 = 60 10 0000 1111 * 0000 0100 = 0011 1100 2<br />

15 10 * 8 10 = 120 10 0000 1111 * 0000 1000 = 0111 1000 2<br />

15 10 * 16 10 = 240 10 0000 1111 * 0001 0000 = 1111 0000 2<br />

Vorgehen bei der Multiplikation einer beliebigen Zahl Für jede 1 <strong>im</strong> zweiten Operand muss eine<br />

Multiplikation ausgeführt werden. Die Ergebnisse werden anschließend miteinander addiert.<br />

Beispiel:<br />

0000 1111 * 0000 0101 0000 1111 * 0000 0100 0011 1100<br />

+ 0000 1111 * 0000 0001 + 0000 1111<br />

= 0100 1011<br />

Ergebnis: 0100 1011 2 (dez<strong>im</strong>al 15 * 5 = 75)<br />

Achten Sie auf den Wertebereich Gefahr des Überlaufs führt zu verfälschtem Ergebnis<br />

Division von Dualzahlen<br />

entspricht einem Verschieben der Zahlen nach rechts (Rechts-Shift)<br />

Vorbemerkung:<br />

Ergebnis kann eine Zahl mit Stellen (evtl. unendlich) hinter dem Komma sein<br />

Beispiel 1:<br />

9 / 2 = 4,5 - endliche Zahl mit einer Nachkommastelle<br />

Beispiel 2:<br />

10 / 3 = 3,33333... - Zahl mit unendlich vielen Nachkommastellen<br />

Wesentliches Problem der ungenauen Darstellung von Nachkommazahlen<br />

Beispiel:<br />

8 / 2 = 4 00001000 / 00000010 = 00000100 Division durch 2 - Rechts-Shift von einer Stelle<br />

8 / 4 = 2 00001000 / 00000100 = 00000010 Division durch 4 - Rechts-Shift von zwei Stellen<br />

Nachkommastellen<br />

Beispiel:<br />

3 / 2 = 1,5 00000011 / 00000010 = 00000001 Rechts-Shift bewirkt, dass die letzte 1 rechts aus<br />

dem Zahlenbereich "herausfällt". alle Nachkommastellen werden abgeschnitten<br />

Achtung: keine Rundung sondern Abbruch der Berechnung 3 / 2 = 1!!!<br />

Diese Art der Division funktioniert jedoch nur, wenn man durch 2 oder eine Potenz von 2 dividiert.<br />

Beispiel: – Division <strong>im</strong> Dez<strong>im</strong>alsystem:<br />

1307 / 11 = 118 Rest 9<br />

-11<br />

==<br />

20<br />

-11<br />

==<br />

97<br />

-88 Rest 9<br />

Analogie der Division nach dem gleichen Schema bei binären Zahlen:<br />

Rechnet man Dez<strong>im</strong>alzahlen wiederum in Binärzahlen um, so kommt man wieder auf 1307/11=18<br />

Rest 9 (siehe oben). Auch hier gilt: Rest wird gnadenlos abgeschnitten, nicht gerundet d.h. er entfällt.<br />

Beispiel:<br />

10100011011 / 1011 = 1110110 Rest 1001<br />

- 01011<br />

===== 1<br />

Seite 3


Einführung in die Wirtschaftsinformatik<br />

WS2008/2009<br />

010010<br />

- 01011<br />

====== 2<br />

001111<br />

- 1011<br />

====== 34<br />

010010<br />

- 01011<br />

====== 5<br />

001111<br />

- 1011<br />

==== 6<br />

01001<br />

- 1011<br />

==== 7<br />

1001 - Rest<br />

Andreas Gäbler/ Juliane Arnold<br />

Universität Potsdam<br />

<strong>Lehrstuhl</strong> <strong>für</strong> Wirtschaftsinformatik und Electronic Government<br />

Positive Ganzzahlen<br />

In den bisherigen Überlegungen war nur die Darstellung von positiven Ganzzahlen möglich<br />

kleinste Zahl 0,<br />

größte Zahl abhängig vom Speicherplatz<br />

Bisherige Betrachtung auf 1 Byte beschränkt Typische Verarbeitungsbreite sind aber mindestens<br />

zwei Byte<br />

Beispiel:<br />

Verarbeitungsbreite 2 Byte 4 Byte 8 Byte<br />

größte darstellbare Dez<strong>im</strong>alzahl 65535 4.294.967.295 18,4467*10 18<br />

Seite 4


Einführung in die Wirtschaftsinformatik<br />

WS2008/2009<br />

Aufgabe 07: Addition mit binären Zahlen<br />

Andreas Gäbler/ Juliane Arnold<br />

Universität Potsdam<br />

<strong>Lehrstuhl</strong> <strong>für</strong> Wirtschaftsinformatik und Electronic Government<br />

Wert 1 Wert 2 Ergebnis<br />

0110 0100<br />

1010 0010<br />

0000 1111 0110 1011<br />

1001 1101 0101 0001<br />

1100 1001 0011 0111<br />

1101 0011 0001 0101<br />

0010 0101 0110 1000<br />

1000 1011 0100 1111<br />

Aufgabe 08: Subtraktion mit binären Zahlen<br />

Wert 1 Wert 2 Ergebnis<br />

0110 0100<br />

0111 0011<br />

0100 0000 0011 1001<br />

1010 1110 1001 1010<br />

1100 1001 0110 0101<br />

1111 0010 1011 1010<br />

1000 0010 0011 1100<br />

1001 1001 1101 0011<br />

Aufgabe 09: Multiplikation mit binären Zahlen<br />

Wert 1 Wert 2 Ergebnis-binär Probe-dez<strong>im</strong>al<br />

0110 0100<br />

0011 0010<br />

1100 0101<br />

0010 1100 0011<br />

0001 1001 1011<br />

1101 0110 0010 0010<br />

Aufgabe 10: Division mit binären Zahlen – mit Angaben des Restes<br />

Wert 1 Wert 2 Ergebnis-binär Probe-dez<strong>im</strong>al<br />

0110 0010<br />

1001 0100<br />

1110 0110<br />

1000 0011<br />

1100 1001 1001<br />

1011 0001 1101<br />

Seite 5

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!