Formale Methoden der Informatik WS 2010/2011 Lehrstuhl für Datenbanken und Künstliche Intelligenz Prof. Dr. Dr. F. J. Radermacher • H. Ünver • T. Rehfeld • J. Dollinger 12. Aufgabenblatt Besprechung in den Tutorien vom 02.02.2011 (ab Übungstermin) bis 09.02.2011 (bis Übungstermin) Aufgaben zu Dualzahlen 66. Aufgabe (3 Punkte): Verständnisfragen a) Wie berechnet man den Betrag einer im 2er-Komplement dargestellten negativen Binärzahl? b) Was erhält man, wenn man (erneut) das 2er-Komplement auf die Zahl −128 anwendet? (Darstellung als 8-Bit Binärzahl unter Berücksichtigung des 2er-Komplements) c) Lässt sich das Prinzip des 2er-Komplements auf andere Zahlensysteme (z.B. auf das 10erSystem) übertragen? d) Beschreiben Sie das Phänomen des Überlaufs! e) Tritt dieses Phänomen (ein Überlauf) nur bei der Addition im 2er-Komplement (vorzeichenbehaftete Binärzahlen) oder auch bei der Addition normaler“ (also nicht” vorzeichenbehafteter) Binärzahlen auf? f) Können vorzeichenbehaftete und nicht-vorzeichenbehaftete Binärzahlen gemischt miteinander addiert werden? 67. Aufgabe (6 Punkte) Durch 3 teilbare Binärzahlen: a) Konstruieren Sie eine Endlichen Automaten, der zu der Sprache der durch-3-teilbaren ” Binärzahlen“ gehört. Dabei seinen führende 0en (ggf. auch das leere Wort) zugelassen. Beispiele: • • • • 011 111 01011 10010 (= 310 ) (= 710 ) (= 1110 ) (= 1810 ) ist ist ist ist in der Sprache enthalten nicht in der Sprache enthalten nicht in der Sprache enthalten in der Sprache enthalten Hinweise: 1.) Jede (Binär-)Zahl hat bei (ganzzahliger) Division durch 3 lediglich die möglichen Reste 0, 1 oder 2. Diese bieten sich als Zustände für den Automaten an. 2.) Wie verändert sich der Wert einer Binärzahl, wenn man eine 0 bzw. 1 hinten anhängt? 3.) Wie verändert sich dann der Rest der Binärzahl bei Division durch 3 (wenn man eine 0 bzw. 1 hinten anhängt)? b) Geben Sie eine Grammatik an, die die gleiche Sprache akzeptiert, die auch der Automat erkennt (also eine Grammatik, die ebenfalls durch-3-teilbare Binärzahlen erkennt). c) Geben Sie einen Regulären Ausdruck an, der die gleiche Sprache akzeptiert, die auch der Automat derkennt (also einen Regulärer Ausdruck, der ebenfalls durch-3-teilbare Binärzahlen erkennt). 68. Aufgabe (6 Punkte) 2er-Komplement: Wandeln Sie folgende Zahlen (b = 10) in Dualzahlen (b = 2) um. Benutzen Sie 8 Stellen und bilden Sie negative Zahlen mit dem Zweier-Komplement: a) 93 b) −37 c) −92 d) 42 e) 126 f) −128 69. Aufgabe (5 Punkte) Addition / Subtraktion: Führen Sie mit den Ergebnissen aus 68.a) bis 68.f) folgende Additionen aus: a) 68.a) + 68.c) b) 68.b) + 68.c) c) 68.e) + 68.b) d) 68.d) + 68.a) e) 68.f) + 68.f) 70. Aufgabe (5+1 Punkte) Überprüfung der Ergebnisse: a) Überprüfen Sie das Ergebnis der Additionen in Aufgabe 69, indem Sie die Ergebnisse wieder vom 2er-System ins 10er-System umrechnen und gleichzeitig vergleichend die Additionen (aus Aufgabe 69) im 10er-System durchführen. Hinweis: Beachten Sie den besonderen Fall der Umrechnung einer negativen Zahl (siehe Verständnisfragen). Was gilt es hierbei zu beachten? b) Sie werden feststellen, dass einige der Additionen aus Aufgabe 69 (obwohl korrekt durchgeführt) zu einem falschen Ergebnis führen. Begründen Sie, wie (und wann) es dazu kommt.