Einführung in die Numerik WS 2016/17 Prof. Dr. Thomas Gerstner Übung 1 Aufgabe 1: Abgabe bis Freitag, 28.10., 11:45 Uhr [Zahldarstellung] (a) Schreiben Sie die Binärzahl 101001 als Dezimalzahl. (b) Schreiben Sie die Dezimalzahl 101001 als Hexadezimalzahl. (c) Schreiben Sie die Hexadezimalzahl 101001 als Binärzahl. (d) Seien z1 und z2 zwei natürliche Zahlen mit identischer Ziffernfolge dN −1 dN −2 . . . d0 bezüglich unterschiedlicher Basen b1 und b2 . Welche der folgenden Aussagen sind wahr? • falls b1 > b2 , so ist z1 > z2 • falls z1 > z2 , so ist b1 > b2 • falls b1 b2 teilt, so teilt z1 z2 • falls z1 z2 teilt, so teilt b1 b2 • z1 + z2 besitzt in der Basis b1 + b2 die selbe Ziffernfolge wie z1 bzw. z2 • z1 · z2 besitzt in der Basis b1 + b2 die selbe Ziffernfolge wie z1 bzw. z2 (e) Schreiben Sie die Zahl −52 in 8- und in 16–Bit Zweierkomplement–Darstellung. (f) Sei z eine negative Zahl in N –Bit Zweierkomplement–Darstellung. Welche positive Zahl entsteht durch Invertieren aller Bits in der Zahldarstellung von z? (g) Welche negativen Zahlen sind in der N –Bit Zweierkomplement–Darstellung bis auf das Vorzeichen– Bit identisch mit ihren positiven Gegenstücken? Punkte: 14 Aufgabe 2: [Festkommazahlen] Ein – zugegeben etwas primitiver – Rechner stellt reelle Zahlen im Festkommaformat mit einem Byte dar. Dabei werden 1 Vorzeichen–Bit, 4 Bits vor dem Komma und 3 Bits hinter dem Komma verwendet. (a) Welche Darstellung haben die Zahlen 5.75 und -4.375? (b) Wie viele verschiedene Zahlen können in obigem Format dargestellt werden? (c) Geben Sie die maximal und minimal darstellbaren Zahlen xmax und xmin sowie die betragsmäßig kleinste darstellbare Zahl ungleich Null x|min| an. (d) Skizzieren Sie (bzw. plotten Sie mit einem Scilab- oder MATLAB-Programm) alle darstellbaren Zahlen auf einer Zahlengeraden. (e) Nicht darstellbare Zahlen im Bereich [xmin , xmax ] werden auf die nächste darstellbare Zahl gerundet. Geben Sie den absoluten und den relativen Rundungsfehler bei der Darstellung der Zahl 1/5 an. (f) Bestimmen Sie den maximalen absoluten und relativen Rundungsfehler für reelle Zahlen im Bereich [x|min| , xmax ]. Punkte: 14 Aufgabe 3: [Gleitkommazahlen] Unser Ein–Byte–Rechner soll nun mit Gleitkomma–Arithmetik ausgestattet werden. Bei der (normalisierten) Zahldarstellung werden 1 Bit für das Vorzeichen, 4 Bits für die Mantisse und 3 Bits für den Exponenten bei einem Bias von 3 verwendet. Die führende 1 in der Mantisse wird nicht abgespeichert. (a) Welche Darstellung haben die Zahlen 5.5 und -1.375? (b) Wie viele verschiedene Zahlen können in diesem Gleitkomma–Format dargestellt werden? (c) Geben Sie auch hier xmax , xmin sowie x|min| an. (d) Skizzieren (bzw. plotten) Sie alle darstellbaren Zahlen auf einer Zahlengeraden. (e) Bestimmen Sie den maximalen absoluten und relativen Rundungsfehler in [x|min| , xmax ]. Punkte: 12 Aufgabe 4: [Programmieraufgabe] Eine natürliche Zahl Z lässt sich für N Stellen und Basis b darstellen als Z= NP −1 di bi =d ˆ N −1 dN −2 . . . d0 für di ∈ {0, 1, . . . , b − 1}. i=0 Schreiben Sie in Scilab oder MATLAB eine Funktion basiswechsel(d,b,c), welche eine natürliche Zahl in einer vorgegebenen Basis in eine andere Basis transformiert. Inputparameter sind also ein Vektor d = (dN −1 , dN −2 , . . . , d0 ), welcher einer natrürlichen Zahl in der Basis b entspricht, sowie eine weitere Basis c, in welche diese Zahl transformiert werden soll. Output der Funktion ist ein Vektor e, welcher der vorgegebenen Zahl in der neuen Basis c entspricht. Bestimmen Sie mit Ihrer Funktion die Darstellung der Zahl d = (4, 2, 6, 1, 3, 4, 3, 4, 4) mit Basis b = 7 in der neuen Basis c = 4. Punkte: 10 Gesamtpunktzahl: 50 Punkte