Which is better option to use for dividing an integer number by 2?

前端 未结 23 1708
甜味超标
甜味超标 2020-11-27 09:10

Which of the following techniques is the best option for dividing an integer by 2 and why?

Technique 1:

x = x >> 1;

Technique

23条回答
  •  孤城傲影
    2020-11-27 09:29

    Use the operation that best describes what you are trying to do.

    • If you are treating the number as a sequence of bits, use bitshift.
    • If you are treating it as a numerical value, use division.

    Note that they are not exactly equivalent. They can give different results for negative integers. For example:

    -5 / 2  = -2
    -5 >> 1 = -3
    

    (ideone)

提交回复
热议问题