Machine-translated by Google. Questions are authored in English.
Top

Discussion

Shifting a 32-bit unsigned value left by 32 places in C is

  • A.guaranteed to give all ones
  • B.undefined behaviour
  • C.guaranteed to give zero
  • D.guaranteed to leave the value unchanged

Answer: B

A shift count at or beyond the width of the promoted operand is undefined, and real processors do different things: some give zero and some use only the low five bits of the count and shift by nothing at all. Both are conforming, which is why the case must be avoided.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.