将数字除以5而不使用除法运算符

时间:2012-12-14 12:39:08

标签: c algorithm math

  

可能重复:
  implement division with bit wise operator
  Divide a number by 3 without using *, /, +, -, % operators

我在接受采访时遇到了这个问题。我想知道是否有任何可能的方法将数字除以5而不使用除法运算符,并且如果任何可能的解决方案仅使用按位运算符存在。我用重复减法计算出一个直到零逼近。号码可以签名和未签名。 如果不使用+, - ,/,*和%。

,请建议任何出路

3 个答案:

答案 0 :(得分:0)

我的第一个想法是乘以0.2(但我不知道如何使用位于顶部的按位运算符来实现它。)

答案 1 :(得分:0)

简单地减少除法以从另一个中减去一个数字,直到达到零:D

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

答案 2 :(得分:-1)

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