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

3.7 Arithmetik im Gleitpunkt Zahlensystem

Einleitend soll gesagt sein, daß in der numerischen Datenverarbeitung nur jene Zahlen Verwendung finden, welche auch ein Computer verwalten kann. So gesehen, hat der Informatiker nur eine endlich viele Zahlenmenge zur Verfügung.
Anhand dessen soll jetzt untersucht werden, ob eine numerische Datenverarbeitung noch einen Sinn macht.
Zur einfachen Veranschaulichung nehmen wir an, daß nur ein einziges Gleitpunktzahlensystem als Grundlage für numerische Operationen zur Verfügung steht.
Als Wiederholung sind hier noch einmal die Parameter eines Gleitpunktzahlensystems angeführt :

F (b,p,emin,emax,denorm)

Gleitpunktzahlensystem
F c R = F ist Teilmenge der Menge der reelen Zahlen
b = Basis, wobei gilt b => 2
p = Mantissenlänge, wobei gilt p => 2
emin = kleinster Exponent, wobei gilt emin < 0
emax = größter Exponent, wobei gilt emax > 0
denorm = Boolean (true oder false)

Beispiele für solche Gleitpunktzahlensysteme wären :

F (5,3,-3,3,true)
z.B. : 3,4565*5^-2 , 2,12121*5^3 , ....

oder F (2,1,-3,3,true)

Da, wie oben schon angeführt wurde, F Teilmenge von R ist, sind rationale und sonstige arithmetischen Operationen für Operanten für F automatisch gültig, da jede diese Operationen auch in der Übermenge R durchgeführt werden können.
Jedoch liegen fast alle Ergebnisse außerhalb von F - abgesehen von den trivialen Abbildungen

LaTex - Code
LaTex - Code

Es werden nämlich generell oft mehr Mantissenstellen und Exponenten außerhalb von [emin,emax] benötigt. Bei einer simplen Division, wobei die Basis b fest vorgegeben ist, und der Standartfunktion gibt es überhaupt unendlich viele Stellen im Ergebnis.
Der beste Ausweg aus einer solchen Situation ist es, das Ergebnis auf eine Zahl in F zu runden.

Hierzu ein einfaches Beispiel:

gegeben ist ein Gleitpunkt Zahlensystem und Argumente dazu:
F (10,6,-9,9,true) a: R |-> F
Argumente x = 0,123456*10^5 = 12345,6
y = 0,987654*10^0 = 0,987654

Exakte Rechnung:
x+y = 0,123465 87654*10^5
x-y = 0,123446 12346*10^5
x*y = 0,121931 812224*10^5
x/y = 0,124999 240624...*10^5
sqr[x] = 0,111110 755549...*10^3

Gerundete Rechnung:
a(x+y) = 0,123466*10^5
a(x-y) = 0,123446*10^5
a(x*y) = 0,121932*10^5
a(x/y) = 0,124999*10^5
a(sqr[x])= 0,111111*10^3


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