可能重复:
用位运算符实现除法
我最近更深入地了解了按位函数,并开始使用按位运算符实现基本的算术函数。到目前为止,我已经得到了(+, -, *)
. 但是,我不确定如何处理除法。我知道我可以以某种方式使用乘法,但也不确定如何使用该方法来解决这个问题。
那么我将如何仅使用按位运算符来实现除法:(|, &, ~, ^, >>, <<)
在 C 中?对于任何询问的人,这不是功课,只是个人知识。
如果你喜欢,你可以在代码中调用下面的函数来使它更容易(这些是预先写好的)
int badd(int n1, int n2);
int bsub(int n1, int n2);
int bmult(int n1, int n2);