Bitshift and integer promotion?

后端 未结 2 1440
被撕碎了的回忆
被撕碎了的回忆 2020-11-28 11:18

Normally, C requires that a binary operator\'s operands are promoted to the type of the higher-ranking operand. This can be exploited to avoid filling code with verbose cast

2条回答
  •  感动是毒
    2020-11-28 11:39

    The trouble really is that promotion only works up to whatever your platform defines as an int. As some other answers have stated, the bit-shift operator will promote the left operand to an int. However, here an int is defined as a 32-bit value. The integer conversion will not promote to a long long (64-bit).

提交回复
热议问题