|
|
От: | 7C | |
| Дата: | 13.06.07 08:42 | ||
| Оценка: | |||
B>5/9
B>Many binary operators that expect operands of arithmetic or enumeration type cause conversions and yield
B>result types in a similar way. The purpose is to yield a common type, which is also the type of the result.
B>This pattern is called the usual arithmetic conversions, which are defined as follows:
B>— If either operand is of type long double, the other shall be converted to long double.
B>— Otherwise, if either operand is double, the other shall be converted to double.
B>— Otherwise, if either operand is float, the other shall be converted to float.
B>— Otherwise, the integral promotions (4.5) shall be performed on both operands.54)
B>— Then, if either operand is unsigned long the other shall be converted to unsigned long.
B>— Otherwise, if one operand is a long int and the other unsigned int, then if a long int can represent
B>all the values of an unsigned int, the unsigned int shall be converted to a long int;
B>otherwise both operands shall be converted to unsigned long int.
B>— Otherwise, if either operand is long, the other shall be converted to long.
B>— Otherwise, if either operand is unsigned, the other shall be converted to unsigned.
B>[Note: otherwise, the only remaining case is that both operands are int ]