【发布时间】:2012-12-02 11:11:51
【问题描述】:
可能重复:
implement division with bit wise operator
Divide a number by 3 without using *, /, +, -, % operators
我在一次采访中遇到了这个问题。我想知道是否有任何方法可以在不使用除法运算符的情况下将数字除以 5,以及是否存在仅使用按位运算符的任何可能的解决方案。我想出了一个使用重复减法直到零方法的方法。号码可以有符号和无符号。 请提出任何不使用 +、-、/、* 和 % 的方法。
【问题讨论】:
-
“数字”是什么格式? 2s 补整数 ?浮点 ? BCD ?其他?
-
考虑格式为十进制格式
-
以下问题包含除以 3 的解决方案。它可以帮助您找到 5 的等价物:stackoverflow.com/questions/11694546/…
-
等等你想用剩下的做什么? IE。 14/5 等于什么?
-
其他重复项用于除以一般情况和除以 3。这应该重新打开。 MS has explained about the divide by 5 case here