如何将数字舍入到最接近的数字,可以被16整除?

时间:2011-11-05 18:37:11

标签: php

我有一个简单的圆函数。它转向偶数。我想确保这个数字可被16整除。任何人都知道一种简单的方法可以将数字四舍五入到最接近的数字,可以被16整除吗?

$num=round(480/$other_num); //will output some number.

4 个答案:

答案 0 :(得分:19)

$num = 39;
$num = round($num / 16) * 16; // 32

答案 1 :(得分:1)

也许您可以使用0xf进行位和数字并添加1?

答案 2 :(得分:1)

简单方法似乎除以16,然后使用“经典圆”并再乘以16。

$num=round(480/16)*16;

答案 3 :(得分:0)

 function round16($num) {
    if ($num % 16 == 0) return $num;
    $num2 = $num;
    $remain = 0;
    do {
        $remain = --$num % 16;
    } while ($remain != 0 && $num >= $num2 - 7);
    if ($remain == 0) return $num;
    do {
        $remain = ++$num2 % 16;
    } while ($remain != 0);
    return $num2;
 }

可能不是最有效的方法。