Type Conversion :
As the name suggests, type conversion refers to conversion of data from one form to another. Type Conversion is one of the most important aspects of C programming, where programmers are prone to commit errors. Hence, care should be taken that the code written, obeys the principles of type conversion.
Evaluation of expressions in Mixed Mode Arithmetic :
When an expression consists of different types of variables, C - Compiler follows rules of type conversion.
|Types (Expression)||Effect on other variables||Resultant Type|
|Unsigned integer + Other data types/td>||The other variables gets converted into unsigned integers.||Unsigned integer|
|Long + Unsigned integer||Unsigned integers changed to unsigned long.||Unsigned long|
|Long + Any other data type.||The other data types are converted into long.||Long|
|Unsigned long + Other data type.||The other data types gets converted into long.||Double|
For Example, consider two integer variables a = 2, b = 3; in general terms one would expect that the solution obtained by performing b / a would yield 1.5. But, this is not the case, when the same logic is applied in the programs. This is because, as both the variables a and b are declared integers, hence C compilers, considers the result of b / a as integer, eventually discarding the decimal value. Hence, proper type conversion is necessary to ensure accurate results.
The following are few basic rules which are to be followed while considering type conversion.
- Unsigned char and unsigned short cab be converted into unsigned integer.
- Character and short can be converted in to integer.
- Float is converted into double.
- int can be converted in to float.
Type Conversion is necessary because of the following reasons.
- it leads to accurate results and
- The code which is properly type converted prevents occurrence of large number of errors.