Разделите число на 5 без использования оператора разделения

Возможный дубликат:
выполнить разделение с помощью битового оператора
Разделите число на 3 без использования *,/, +, -,% операторов

Я столкнулся с этим вопросом в интервью. Я хочу знать, есть ли способ разделить число на 5 без использования оператора деления и если любое возможное решение существует только с помощью побитовых операторов. Я вычислил один из них, используя повторное вычитание до нуля. Номер может быть подписан и без знака. Пожалуйста, предложите любой выход, не используя +, -,/, * и%.

Ответы

Ответ 1

Моя первая идея состояла в том, чтобы просто умножить на 0,2 (но я не знаю, как реализовать это, используя побитовые операторы с верхней части головы).

Ответ 2

Просто уменьшите деление на вычитание одного числа из другого, пока не достигнете нуля: D

int number = 25;
int divisor = 5;
int result = 0;
while((number-divisor)>=0){
  result++;
  number = number - divisor;
}