可能重复:使用位智能运算符实现除法将数字除以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/
3 回答
我的第一个想法是乘以0.2(但我不知道如何使用按位操作符来实现它的解决方案) .
简单地减少除法以从另一个中减去一个数字,直到达到零:D
我似乎从这个链接中找到了一条出路,这似乎为我的问题提供了答案 . http://codegambler.wordpress.com/2009/08/11/division-operation-without-using-division-operator/