
...
Integer promotions has a number of interesting consequences. For example, adding two small integer types always results in a value of type signed int
or unsigned int
and the actual operation takes place in this type. Also, applying the bitwise negation operator {~} to an unsigned char
(on IA-32) results in a negative value of type signed int
because the value is zero-extended to 32 bits.
...