如何在不使用php中的除法运算符的情况下编写函数来实现整数除法算法

时间:2010-10-13 05:07:07

标签: php operators

如何编写函数来实现整数除法算法 使用除法运算符。浮点值和余数可以 被丢弃错误条件可能会被忽略。

例如:

f(10, 3) is 3

f(10, 5) is 2

f(55, 5) is 11

4 个答案:

答案 0 :(得分:5)

function div($a,$b)
{
   $a -= $a % $b;
   for($i = 0; $a != 0; $i++)
     $a -= $b;
   return $i;
}

这当然只适用于正数

答案 1 :(得分:4)

我的实施,但它没有考虑操作数的迹象

function f($value, $div)
{
        $result = 0;
        while ($value >= $div) {
                $result++;
                $value -= $div;
        }

        return $result;
}

var_dump(f(10,3));

答案 2 :(得分:3)

PHP已经为bcdiv

提供了一个函数
echo bcdiv(10, 3, 0); // 3

答案 3 :(得分:0)

我的猜测是你必须查看按位运算符$ x>> $ y向右移一位(乘以2),相反的是$ x<< $ y向左移一位然后除以2。