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

Discussion

Which of the following is the better approach to do the operation i = i * 16?

  • A.Multiply i by 16 and keep it
  • B.Shift left by 4 bits
  • C.Add i to itself 16 times
  • D.Shift right by 4 bits

Answer: B

Correct answer: Shift left by 4 bits

Shifting left by \(n\) places multiplies by \(2^n\), and \(16 = 2^4\), so i << 4 is the same as i * 16 for non-negative values - done in a single instruction rather than a multiply. In practice any modern compiler makes this substitution for you, so writing i * 16 is clearer and costs nothing.

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

Post your comment

Please log in or register to post a comment.