JavaFAQ Home » Mathematics
Floatingpoint numbers are like real numbers in mathematics, for
example, 3.14159, 0.000001. Java has two kinds of floatingpoint numbers:
float and double , both stored in IEEE754 format. The
default type when you write a floatingpoint literal is double .
Java floatingpoint types
type 
Size 
Range 
Precision 
name 
bytes 
bits 
approximate 
in decimal digits 
float 
4 
32 
+/ 3.4 * 10^{38} 
67 
double 
8 
64 
+/ 1.8 * 10^{308} 
15 
Limited precision
Because there are only a limited number of bits in each floatingpoint type,
some numbers are inexact, just as the decimal system can not represent some
numbers exactly, for example 1/3. The most troublesome of these is that 1/10 can
not be represented exactly in binary.
Floatingpoint literals
There are two types of notation for floatingpoint numbers. Any of these
numbers can be followed by "F" (or "f") to make it a float instead
of the default double .
 Standard (American) notation which is a series of digits for the
integer part followed by a decimal point followed by a series of digits for
the fraction part. Eg, 3.14159 is a
double . A sign (+ or ) may
precede the number.
 Scientific notation which is a standard floatingpoint literal
followed by the letter "E" (or "e") followed by an optionally signed
exponent of 10 which is used as a multiplier (ie, how to shift the decimal
point). Generally scientific notation is used only for very large or small
numbers.
Scientific 
Standard 
1.2345e5 
123450.0 
1.2345e+5 
123450.0 
1.2345e5 
0.000012345 
Infinity and NaN
No exceptions are generated by floatingpoint operations. Instead of an
interruption in execution, the result of an operation may be positive infinity,
negative infinity, or NaN (not a number). Division by zero or overflow produce
infinity. Subtracting two infinities produces a NaN. Use methods in the wrapper
classes (Float or Double) to test for these values.
References
Printer Friendly Page
Send to a Friend
..
Search here again if you need more info!
