PHP-php中对比较大的数字取模时得到负数怎么解决?

项目合作 项目合作 主题:1030 回复:2135

PHP-php中对比较大的数字取模时得到负数怎么解决?

偏爱自由 发布于 2017-06-04 字数 91 浏览 1152 回复 2

举例来说:

echo  3245356034%256;

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

虐人心 2017-10-06 2 楼

不支持bcXXX函数,没有安装扩展的时候可以使用fmod函数。

参考链接:http://php.net/manual/en/function.fmod.php

使用示例:

<?php
$var1 = 5;
$var2 = 2;

echo $var1 % $var2; //Returns 1
echo fmod($var1,$var2); //Returns the same
?>

想挽留 2017-09-23 1 楼

echo bcmod('3245356034','256');

补充手册上的一个方法:

function my_bcmod( $x, $y ){
    // how many numbers to take at once? carefull not to exceed (int)
    $take = 5;
    $mod = '';
    do{
        $a = (int)$mod.substr( $x, 0, $take );
        $x = substr( $x, $take );
        $mod = $a % $y;
    }
    while ( strlen($x) );
    return (int)$mod;
}

最后说句,修改了问题,尽量评论下答案。。