prev up next

Previous: Operatoren Up: Gleitkommazahlen (float, double) Next: Boolean (boolean)

Konstantenbezeichner

Beispiele: .2        
  2        
  2.        
  2.0        
  2.538        
  2.538f        
  2.5E2 $=$ $2.5 * 10^2$ $=$ $250$
  2.5E-2 $=$ $2.5 * 10^{-2}$ $=$ $0.025$
a

Multiplikation: (Exponenten addieren, Mantissen multiplizieren)

Beispiel: $12$ $ *$ $20$ $=$    
  $1.5\cdot2^{3}$ $ *$ $1.25 \cdot 2^{4}$ $=$    
  $1.5\cdot 1.25$ $ *$ $ 2^{3} \cdot 2^{4}$ $=$    
  $1.875$ $ *$ $ 2^{7}$ $=$ $ 240$  

Addition: (Exponenten angleichen, Mantissen addieren)

Beispiel: $12$ $ +$ $20$ $=$    
  $1.5\cdot2^{3}$ $ +$ $1.25 \cdot 2^{4}$ $=$    
  $0.75 \cdot 2^{4}$ $ +$ $1.25 \cdot 2^{4}$ $=$    
  $(0.75 + 1.25)$ $ *$ $2^4$ $=$    
  $1$ $ *$ $2^5$ $=$ $32$  

Problem beim Angleichen der Exponenten:

Beispiel: $1024$ $ +$ $ \frac{1}{1048576} $ $=$    
  $1 \cdot 2^{10}$ $ +$ $1 \cdot 2^{-20}$ $=$    
  $1 \cdot 2^{10}$ $ +$ $2^{-30} \cdot 2^{10}$ $=$    
  $1 \cdot 2^{10}$ $ +$ $0 \cdot 2^{10}$ $=$ $1024$  

Bei $23$ Bits für die Mantisse ist $2^{-30}$ nicht mehr darstellbar.

Die Dezimalzahl $0,4 = 1,6 * 2^{-2}$ ist nicht exakt darstellbar, da die Dualzahlentwicklung der Mantisse eine Periode enthält.

Gleitkommaoperationen stoßen in Java keine Ausnahmebehandlung an. D.h., Division durch Null führt nicht zum Abbruch, sondern ergibt den Wert $+ \infty$ bzw. $- \infty$; Null dividiert durch Null ergibt NaN (not a number).

Source: Gleitkomma.java     JavaDoc: Gleitkomma.html     Applet:


prev up next
Previous: Operatoren Up: Gleitkommazahlen (float, double) Next: Boolean (boolean)