Junior
24
0
questionbank

Как можно умножить или разделить целое число на 2, используя битовые операции?

Answer from sobes.tech neural network

Для умножения на 2 используется битовый сдвиг влево (<<).
Для деления на 2 используется битовый сдвиг вправо (>>).

cpp

При делении отрицательного числа на 2 с использованием битового сдвига вправо (>>) результат будет зависеть от типа сдвига:

  • Логический (unsigned): В освобождающиеся биты слева будут записываться нули.
  • Арифметический (signed): В освобождающиеся биты слева будет записываться значение зна

Для умножения на 2 используется битовый сдвиг влево (<<).
Для деления на 2 используется битовый сдвиг вправо (>>).

cpp

При делении отрицательного числа на 2 с использованием битового сдвига вправо (>>) результат будет зависеть от типа сдвига:

  • Логический (unsigned): В освобождающиеся биты слева будут записываться нули.
  • Арифметический (signed): В освобождающиеся биты слева будет записываться значение зна

Register or sign in to get access to full answers for all questions from the question bank.

bitwise-operationsinteger-arithmeticbit-shiftingperformanceoptimization