[ < ] [ globale Übersicht ] [ Kapitelübersicht ] [ Stichwortsuche ] [ > ]

3.7.1 Rundungen




Zu einer mathematischen Definition der arithmetischen Operation in F kann man folgendermaßen kommen:

Für jede zweistellige Operation:
o: RxR -> R
definiert man die analoge Operation:
r: FxF -> F
durch
xry := a(xoy)
wobei x r y immer eine Zahl aus F sein soll.


Dasselbe gilt nun auch für einen Operanten beziehungsweise für eine Funktion in F:
f(x) := af(x) => f: F -> F

Forderungen an eine Rundungsfunktion sind im allgemeinen durch folgende Punkte zu erfüllen:

1. Projektivität:

ax=x für x e F

2. Monotonie:

x <= y => ax <= ay für x,y e R

Daraus folgt, daß unterhalb eines bestimmten Grenzpunktes
x' e [x1,x2]
auf x1 abgerundet und oberhalb eines Punktes x' aufgerundet wird.




Gebräuchliche Rundungsfunktionen sind:

1) Rundung auf den nächstgelegenen Wert(optimale Rundung):

Bei dieser Art der Rundung liegt x' genau in der Mitte von [x1,x2].


Latex-Code

Hierbei kann der sonderfall, daß x=x' ist, eintreten.Das heißt, daß die Zahl gleichen Abstand von x1 und x2 hat.
Genau für diesen Fall gibt es zwei Untermethoden bei dieser Rundungsart:

a) Traditionelle Rundung oder "round away from zero"
Hierbei wird genau jene Zahl genommen, welche weiter weg von Null ist.
z.B.: F(10,6,-9,9,true) 0,1000005 => 0,100001

b) Rundung zur nächsten geraden Mantisse oder "round to even"
Hier rundet man auf die Zahl, welche an ihrer letzten Stelle gerade ist. Diese Art der Rundung funktioniert aber nur, wenn die Basis b gerade ist
z.B.: F(10,6,-9,9,true) 0,1000005 => 0,100001*10^0

2) Abschneiden oder "trucate, round toward zero"

Beim Abschneiden hängt der Grenzpunkt in folgenderweise vom Vorzeichen der Zahl ab:
sign(x) := -1 x <= 0 sign(x) := 1 x => 0
Für die Berechnung des Grenzpunktes gilt daher:
x' = sign(x) * max(|x1|,|x2|)
Durch das Abschneiden der Zahl erhält man die nächste zur Null gelegene Zahl.

3) Einseitige Rundung oder "round toward infinity" und Abrunden oder "round minus infinity"

Der Grenzpunkt wird hier folgendermaßen definiert:
x' := min(x1,x2) beziehungsweise x' := max(x1,x2)
Durch die immer gültige Symmetriebeziehung
a(-x) = -(ax)
bezeichnet man optimale Rundung und Abschneiden als symmetrische Rundungsfunktionen.
Einseitige Rundung bezeichnet man hingegen als gerichtete Rundungsfunktionen.
Falls keine Nachbarzahlen x1 < x und x2 > x aus F gibt, so kann es zu einem Überlauf oder Unterlauf kommt.
Bei einem Überlauf in einem Computer kommt es zu einem Rechenabruch, wobei aber bei einem Unterlauf der Computer mit 0 weiterrechnet.

[ < ] [ globale Übersicht ] [ Kapitelübersicht ] [ Stichwortsuche ] [ > ]