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

可能重复:
用位智者来实现分工
不使用*,/,+, - ,%运算符将数字除以3

我在采访中遇到了这个问题。 我想知道是否有任何可能的方法可以将数字除以5而不使用除法运算符,以及是否存在仅使用位运算符的任何可能的解决方案。我通过使用重复减法直到零逼近来计算出一个。 数字可以被签名和未签名。 请在不使用+, - ,/,*和%的情况下提出任何建议。


我的第一个想法是乘以0.2(但我不知道如何使用从头开始使用按位运算符的解决方案)。


简单地减少分数,减去另一个数字直到达到零:D

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

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

链接地址: http://www.djcxy.com/p/37199.html

上一篇: Divide a number by 5 without using division operator

下一篇: Which is better option to use for dividing an integer number by 2?