Special Effects and Game Development
in Java(TM) - Double and Float
by Anibal Wainstein
1.2.4 Double and Float
There are two types of floating point numbers in Java: double
and float. Double uses 64 bits to represent the number and
have double the precision as float that only uses 32 bits.
Floating point numbers work in the same way as integers when
operating on the arithmetic operators. They can be declared
in the following way:
double PI = 3.141592654;
float PI = 3.141592654;
1.2.5 Bytes
Bytes are whole numbers between 0 and 255. The arithmetic
operators work with these in the same way as integers, but
with the difference that a byte cannot be negative or bigger
than 255.
1.2.6 Converting between
integers and floating point numbers
Let us say you have two integers "x" and "y"
and that you will be using these to draw a point on the screen
later on. Assume also that we have two floating point numbers
"a" and "b". They have the values:
float a = 7.5;
float b = 1.0;
We will now draw the sum as an x-coordinate and the difference
as a y-coordinate. Since these numbers are floating point numbers
then one may not set the variables "x" and "y"
to go directly to these values. A special conversion is needed:
//"x" will contain 9 because
//8.5 is rounded to 9
int x = (int)(a + b);
//"y" will contain 7 because
//6.5 is rounded to 7.
int y = (int)(a - b);
This is called type casting. The floating point numbers
are converted to integers. Observe that the variables "a"
and "b" are not converted to integers during the
conversion process. A variables type cannot change once it
has been declared. We can also convert the other way:
a = (float) (x + y); The
sum is calculated, converted and the result is stored in the
variable "a". Later I will be reviewing other uses
for this.
Next Page >>
|