I can't understand the line "The result of the shift has the same type as the thing that got shifted (after the integral promotions)" in the following extract from the C book by Mike Banahan (Section 2.8.2.3).
Importantly, the rules involving mixed types of operands do not apply to the shift operators. The result of the shift has the same type as the thing that got shifted (after the integral promotions), and depends on nothing else.
If something is already promoted to an integer (as required during shift operator use), then how can it be converted back to the same type as it originally had, unless of course it is on the right side of an assignment and is being assigned to a variable of the same type as it had before integer promotion? Further, what exactly does the line "the rules involving mixed types of operands do not apply to the shift operators" signify?
Please shed some light on both parts of the question. Thank you.
The following are screenshots from the book, relating to promotions during use of bit-wise operators and during mixed expressions in general, respectively.