First, every char-type operand is converted into the int-type value, and the unsigned char-type operand is converted into the unsigned int-type value.
Then, if one of the operands is of the float type, then the other will be converted into the float-type value and the result will be of the float type.
Otherwise, if one of the operands is of the unsigned long type, then the other will be converted into the unsigned long-type value and the result will be of the same type.
Otherwise, if one of the operands is of the long type, then the other will be converted into the long-type value and the result will be of the same type.
Otherwise, if one of the operands is of the long type, and the other is of the unsigned int type, then both operands will be converted into the unsigned long-type value and the result will be of the same type.
Otherwise, if one of the operands is of the unsigned type, then the other will be converted into the unsigned-type value and the result will be of the same type.
Otherwise, both operands should be of int type and the result will be of the same type.
|