Abhineet - 6 months ago 42

C Question

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

Technique 1:

`x = x >> 1;`

Technique 2:

`x = x / 2;`

Here

`x`

Answer

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
```