Which of the following techniques is the best option for dividing an integer by 2 and why?
x = x >> 1;
x = x / 2;
x is an integer.
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