0

可能重复:
使用按位运算符实现
除法将一个数字除以 3,而不使用 *、/、+、-、% 运算符

我在一次采访中遇到了这个问题。我想知道是否有任何方法可以在不使用除法运算符的情况下将数字除以 5,以及是否存在仅使用按位运算符的任何可能的解决方案。我想出了一个使用重复减法直到零方法的方法。号码可以有符号和无符号。请提出任何不使用 +、-、/、* 和 % 的方法。

4

3 回答 3

0

我似乎已经从这个链接中找到了一条出路,这似乎为我的问题提供了答案。 http://codegambler.wordpress.com/2009/08/11/division-operation-without-using-division-operator/

于 2012-12-14T12:52:32.357 回答
0

我的第一个想法是乘以 0.2(但我不知道如何使用我脑海中的按位运算符来实现它的解决方案)。

于 2012-12-14T12:42:56.820 回答
0

只需将除法减少为从另一个数字中减去一个数字,直到达到零:D

int number = 25;
int divisor = 5;
int result = 0;
while((number-divisor)>=0){
  result++;
  number = number - divisor;
}
于 2012-12-14T12:43:57.680 回答