Mixed Mode Operations
 

int a;
double b, c;
a = 3;
b = 5.1;
c= a + b;
When adding an int to a double, the int is converted to a double for the purpose of adding. The memory space retains the int. The location of the sum, c, must be a double.

int a, b;
double c;
b = 21;
a = 5;
c = b/a;
Integer division takes place and gives an answer of 4. This answer is stored as a double 4.0.

But what if we wanted the correct division answer ...

c = ( double) b/a;
c= 21.0 / 5
c = 4.2

It is possible to force the type you want by type casting. Be careful to force the double to either the numerator or denominator, not both.
c = ( double) (b/a);
gives an answer 4.0 since integer division is done first.

(c) Shilpa Sayura Foundation 2006-2017