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

Discussion

The value of y after this runs is

uint8_t y = 1;
y <<= 7;

  • A.0x80
  • B.0x07
  • C.0x00
  • D.0x7F

Answer: A

Shifting one left seven places puts it in the top bit of a byte, which is 0x80. One more shift would push it out and leave zero, and a shift by eight or more of an 8-bit value is undefined behaviour in principle and unhelpful in practice.

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

Post your comment

Please log in or register to post a comment.