c_cpp 将数字除以3而不使用*,/,+, - ,%运算符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 将数字除以3而不使用*,/,+, - ,%运算符相关的知识,希望对你有一定的参考价值。

// reference: http://stackoverflow.com/questions/11694546/divide-a-number-by-3-without-using-operators

int add(int a, int b) {
    int carry = (a&b) << 1;
    int sum = a ^ b;
    return carry == 0 ? sum : add(carry, sum);
}

int divide_by_3(int a) {
    ...
}

以上是关于c_cpp 将数字除以3而不使用*,/,+, - ,%运算符的主要内容,如果未能解决你的问题,请参考以下文章

除以 9 而不使用除法或乘法运算符

如何使用二进制运算将整数除以 3

c_cpp 除以两个整数

在没有 DIV 操作码的情况下,任何数字(16 位)在汇编中除以 3 的更快方法

c#函数接受整数n并返回可以除以除数1..n的最小数

python 这使用动态编程来找出从3到1的任何数字到1的最快方法(除以2,除以3和