Zahlen Flashcards
Stellenwertsystem
Ganze Zahlen als Zahlenpaar darstellen
Ganze Zahlen können durch die Gleichung a+x=b beschrieben werden. (a,b) beschreibt dann das x eindeutig. Für x gibt es mehrere Paare, die eine Äquivalzklasse bilden.
Wann sind zwei Zahelnpaare in der selben Äquivalenzklasse?
Addition zweier ganzer Zahlen als Zahlenpaare
Multiplikation zweier ganzer Zahlen als Zahlenpaare
Additive Inverse eines ganzzahligen Paars
Auswahl von Repräsentaten der aus den Äquivalenzklassen
Um Speicher zu sparen wählen wir einen Repräsentanten einer Äquivalenzklasse aus um nicht mehrer Zahlenpaare speicher zu müssen
Repräsentant für natürliche Zahlen
(0, x)
Repräsentant für negative Zahlen
(y, 0)
Was macht die Wahl der Repräsentanten
Sie enspricht der Idee, den Betrag der Zahl zu speicher und zusätzlich nach dem Vorzeichen zu unterscheiden. Dies wird in Binärdarstellung meist wie folgt gemacht:
Welche Nachteile hat die Darstellung der Zahl mit dem Betrag und dem Vorzeichen
- Die Addition von Zahlen benötigt eine Fallunterscheidung
- Die Zahl Null ist doppelt repräsentiert
Warum benötigt man im 1er-Komplement bei der Addition eine Fallunterscheidung?
Wenn (0,x) + (y,0) erhält man (x,y). Das muss auf (0,x-y) oder auf (y-x, 0) gebracht werden, je nachdem ob x >= y oder x < y. Also eine Fallunterscheidung
1er Komplement
Statt (y, 0) werden Zahlen < 0 mit (b^(n-1) -1, y’) dargestellt. Damit wird die Addition leichter, man braucht aber noch eine Korrektur bei negativen Ergebnissen
2-er Komplement
Negative Zahlen werden hier durch (b^(n-1), y’) dargestellt. Damit wird die Umwandlung einer positiven Zahl in eine negative Zahl im vergleich zum 1er Komplement etwas aufwändiger, aber die Operationen einfacher und man hat keine doppelte Darstellung der Null mehr
2er Komplement im Stellenwertsystem
Exzess-Darstellung
Hier werden nicht nur die negativen sonder alle Zahlen verschoben, man repräsentiert also alle Zahlen als (k, x’). Schreibt man im Stellenwertsystem x, so ist damit x - k gemeint. Die übliche Wahl im binären Stellenwertsystem ist k = b^(n-1), so das man wie im 2er Komplement den Werteberech und die folgende Darstellung hat:
Addition in der Exzess-Darstellung
Zur Addition uss man legdiglich den Exzess entfernen. Mann muss also bei (k, x) + (k, y) = (2k, x+y) k von beiden Zahlen subtrahieren. Bei k = b^(n-1) geschiet dies einfach durch Invertieren der Stelle x_(n-1)
rationale Zahlen als Zahlenpaar darstellen
Auch Rationale Zahlen kann man als Paar von ganzen Zahlen darstellen. Aus der Gleichung ax = b ergibt sich (a,b) wobei a der Nenner und b der Zähler ist. Außerdem legen wir fest, das a != 0 sein muss.
Festkomma-Repräsentation
Das Prinzip ist ähnlich zum Exzess-Code: (k, x’). Mann muss von der dargestellten Zahl noch einen festen Wert abziehen. Bei der Festkommadarstellung wird die dargestellte Zahl duch den festen Nenner geteil. Das ist besonders einfach weil der nenner eine Potenz der Basis b ist, als k = b^n. Die Division kann also als eine Verschiebung des Kommas interpretiert werden:
Darstellung von Gleitkommazahlen
Gleitkommazahlen werden auch durch ein Zahlenpaar (b^e, m) beschrieben (es wird nur e gespeichert) mit x = m * b^e. m ist die Mantisse und e ist der Exponent. Zur eindeutigen Darstellung muss die führenden Stelle von m != 0 sein und die erste Ziffier ist die Stelle vor dem Komma, also m < b. -> 1 <= m < b. Das Vorzeichen der Mantisse wird explitiz gespeichert. Für den Exponenten wird die Exzess-Codierung verwendet
B = Bias der Exzess zur Darstellund des vorzeichenbehafteten Exponenten
Gleitkommazahlen im Binärsystem
Es wird B typsicherweise als höchstmögliche Zweierpotenz gewählt. Dazu kann die erste Stelle der Mantisse weggelassen werden, da diese eine 1 sein muss.
Was ist die kleinste darstellbare Zahl in Gleitkommazahlen
b^(-B+1)
Warum ist die kleinste darstellbare Zahl in Gleitkommazahlen nicht b^(-B)?
Weil e = -B zur Darstellung der Null benutzt wird
Was ist die größte darstellbare Zahl in Gleitkommazahlen?
e = b^(n_e) -2 - B und der größten Mantisse
Warum ist der exponent der größten darstellbaren Zahl in Gleitkommazahlen nicht b^(n_e) -1- B
Weil dieser Exponent für die Codierung von Unendlich benutzt wird.
Approximationsfehler
Nicht alle rationalen Zahlen können in Gleitkommazahlen dargestellt werden durch die beschränkte Anzahl der Exponentenbits und Mantissenstellen. Daher entstehen Fehler beim darstellen von rationalen Zahlen als Gleitkommazahl.
G(x)
Die Funktion bildet rationale Zahlen auf die abgerundete Gleitzahl ab
Abstand zwischen benachbarten Gleitkommazahlen
Der Unterscheid zwischen x und G(x) hängt von den gewählten parametern b und n_m in \G(b,n_m) ab. Zusätzlich hängt der Abstand vom e ab. Also hängt der Abstand von der Größe von x ab:
absoluter Fehler
relativer Fehler
Maschinengenauigkeit
maximaler relativer Fehler bei der Approximation einer rationalen Zahl
Alternative Definition der Maschinengenauigkeit
Wenn G immer abrundet, dann suchen wir die kleinste Zahl x \in Q+ die wir zu 1 addieren müssen, so dass das Ergebnis nicht mehr 1 ist
Fehler bei Elementaroperationen
Es treten Fehler bei der Durchführung von Berechnungen mit Gleitkommazahlen auf. Selbst die elementaren arithmethischen Oeprationen sind gegenüber den auf den rationalen Zahlen definierten Operationen Addition, Subtraktion, Multiplikation, Division nicht abgeschlossen.
- steht für eine beliebige elementare arithmetische Operation
Assoziativität und Distributivität beim Rechnen mit Gleitkommazahlen
Da nach jeder Operation erneut auf die Gleitkommazahlen abgebildet werden muss und dabei immer ein Fehler entstehen kann gelten auch die sonst übliche Assoziativituat für diese Operationen sowie die Distributivität zwischen Addition und Multiplikation nicht mehr.
Gegeben sind zwei Zahlen a und b im Gleitkommaformat. Ist der relative Fehler, der bei der Elementaroperation entsteht durch die Maschinengenauigkeit beschränkt?
Ja, da der relative Fehler in diesem Fall genau dem Abbildungsfehler entspricht
Gegeben sind zwei rationale Zahlen a und b. Ist der relative Fehler, der bei der Elementaroperation entsteht durch (ein kleines vielfaches) der Maschinengenauigkeit beschränkt?
Nein, der relative Fehler hängt von der Operation ab
Relativer Fehler bei der Multiplikation von zwei rationalen Zahlen
Relativer Fehler bei der Addition von zwei rationalen Zahlen
Relativer Fehler bei der Subtraktion von zwei rationalen Zahlen
Der relative Fehler bei der Subtraktion ist unbeschränkt
Wann wird der Fehler bei der Subtraktion sehr groß
Wenn die Zahlen nahe bei einander liegen
Was versteht man under dem Begriff Aulöschung?
Bei der Subtraktion von Zahlen, wenn die Zahlen nahe bei einander sind werden die führenden Stellen der Mantisse alle Null. Man spricht hier von Auslöschenung (der führenden Stellen) und verwendet nur einen (kleinen) Teil der antisse zur Darstellung des korrekten Ergebnis.
Warum hängt der Fehler bei der Subtraktion nicht mehr von der Anzahl der Mantissenstellen ab?
Weil durch die Auslöschung nur ein kleiner Teil der Mantisse zur Darstellung der Zahl benutzt wird.
Wie berechnet man die obere Schranke für den relativen Fehler?
Der relative Fehler ist |G(x) * G(y) - x * y|/|x * y|. Dabei wird x = g_x + r_x dargestellt, wobei g_x = G(x) = m_x * b^(e_x) ist und r_x der rest der nicht dargestellt werden kann. Wenn man das in den Relativen Fehler einsetzt muss man nun noch nach oben Abschätzen.
Irrationale Zahlen im Gleitkommaformat
Rationale und irrationale Zahlen lassen sich gleicht gut oder gleicht schlecht durch rationale Zahlen repräsentieren. Daher braucht man für die irrationalen Zahlen keine neue Repräsentation einführen.