Arithmetic
- if either operand long double, convert other to long double
- else if either is double, convert other to double
- else if either is float, convert other to float
- else convert char and short to int
- if either is unsigned long, convert other to unsigned long
- if one is unsigned int and the other long int, convert unsigned int
to long int if it fits, otherwise convert both to unsigned long
- if either is long, convert other to long
- if either is unsigned, convert other to unsigned
- else both operands are int
Assignment
- value of right side converted to type of left