seconds = days * 24 * 60 * 60; // convert to seconds

distance = lightspeed * seconds; // compute distance

System.out.print("In " + days);

System.out.print(" days light will travel about ");

System.out.println(distance + " miles.");

}

}

This program generates the following output:

In 1000 days light will travel about 16070400000000 miles.

Clearly, the result could not have been held in an **int **variable.

Floating-Point Types

Floating-point numbers, also known as *real *numbers, are used when evaluating expressions

that require fractional precision. For example, calculations such as square root, or transcendentals

such as sine and cosine, result in a value whose precision requires a floating-point type. Java

implements the standard (IEEE754) set of floating-point types and operators. There are two

kinds of floating-point types, **float **and **double**, which represent single- and double-precision

numbers, respectively. Their width and ranges are shown here:

Name

Width in Bits

Approximate Range

64

4.9e324 to 1.8e+308

double

32

1.4e045 to 3.4e+038

float

Each of these floating-point types is examined next.

float

The type **float **specifies a *single-precision *value that uses 32 bits of storage. Single precision is

faster on some processors and takes half as much space as double precision, but will become

imprecise when the values are either very large or very small. Variables of type **float **are useful

when you need a fractional component, but don't require a large degree of precision. For

example, **float **can be useful when representing dollars and cents.

Here are some example **float **variable declarations:

float hightemp, lowtemp;

double

Double precision, as denoted by the **double **keyword, uses 64 bits to store a value. Double

precision is actually faster than single precision on some modern processors that have been

optimized for high-speed mathematical calculations. All transcendental math functions, such

as **sin( )**, **cos( )**, and **sqrt( )**, return **double **values. When you need to maintain accuracy over

Search WWH :

Custom Search