**Type Conversion, Precedence and Associativity of Operators in C**

**Type Conversion in C**

The process of converting one data type into another data
type is known as type conversion.

The automatic conversion of one data type into another data
type is known as implicit type conversion. It is done by the compiler.

The type conversion can also be done manually. The type
conversion done by the programmer is known as explicit type conversion.

We will discuss about these two types in detail in our next
tutorials.

It is quite common that we have to use both integer and
float numbers. While doing some arithmetic operations between them we should
take care of few things which we will discuss in this tutorial.

1. Arithmetic operation between integer and integer will
always result in an integer.

2. Arithmetic operation between float and float will always
give float number.

3. Arithmetic operation between float and integer will
always give float number. In this case, first integer will be promoted to float
after that the arithmetic operation will take place.

Checkout the table below to understand these operations.

**Type Conversion in Assignments**

It is quite often that the variable on the left hand side of
assignment operator (=) does not match the type of variable on its right hand
side. In such a case, the value of the whole expression will be promoted or demoted
on the basis of variable present on left hand side of assignment operator.

To make things a bit more clear lets take an example.

float a;

int b;

b=4.2;

a=3;

Complexity of the arithmetic operation doesn’t matter. You
should stick with the three basic rules. That’s it.

To understand things better. Checkout below examples.

**Precedence (Hierarchy) of Operators in C**

BODMAS is the basic rule to solve complex arithmetic
problems in maths. Unfortunately BODMAS doesn’t work in C. Suppose you wrote
one expression.

x*y+z*a

So how you will solve this expression?

This way (x*y)+(z*a)

Or this way x*(y+z)*a

To solve this problem in C you have to learn about hierarchy
or precedence of operators. Hierarchy of some common arithmetic operators is
given below.

Some Quick Tips

Within nested parentheses, arithmetic operations will be
done according to above priority. Expression under innermost parentheses will
be solved first.

It is advised to use parenthesis in the program carefully.
You should type both parentheses first ( ). After that start typing expression
inside it. This will remove the errors caused by missed parenthesis.

Associativity of Operators in C

Associativity of operators is used when two operators of
equal priority makes a tie. In that case the arithmetic operation is solved
using the associativity table of C language.

Complete table of precedence and associativity of operators
in C is given below.