Previous Table of Contents "New C Standard" commentary
659 Every integer type has an integer conversion rank defined as follows:
660 No two signed integer types shall have the same rank, even if they have the same representation.
661 The rank of a signed integer type shall be greater than the rank of any signed integer type with less precision.
662
The rank of
663 The rank of any unsigned integer type shall equal the rank of the corresponding signed integer type, if any.
664 The rank of any standard integer type shall be greater than the rank of any extended integer type with the same width.
665
The rank of
666
The rank of
667 The rank of any enumerated type shall equal the rank of the compatible integer type (see 6.7.2.2).
668 The rank of any extended signed integer type relative to another extended signed integer type with the same precision is implementation-defined, but still subject to the other rules for determining the integer conversion rank.
669
For all integer types
670
The following may be used in an expression wherever an
671
An object or expression with an integer type whose integer
conversion rank is less than
672
A bit-field of type
673
If an
674
otherwise, it is converted to an
675 These are called the integer promotions.48)
676 All other types are unchanged by the integer promotions.
677 The integer promotions preserve value including sign.
678
As discussed earlier, whether a plain
679 Forward references: enumeration specifiers (6.7.2.2), structure and union specifiers (6.7.2.1).
Next
Created at: 2008-01-30 02:39:41
The text from WG14/N1256 is copyright © ISO