ホームページ  >  記事  >  バックエンド開発  >  これはバグですか?何をするか

これはバグですか?何をするか

WBOY
WBOYオリジナル
2016-06-13 12:05:24858ブラウズ

これはバグですか?
echo 3232238115 % 256; //-221

-----解決策---------
考慮する必要があります。PHP のモジュロは整数用のようです
マニュアルを見てください。誰かが大きな整数用のモジュロを書いています

<br />function my_bcmod( $x, $y ) {<br />    $take = 5;<br />    $mod = '';<br />    do{<br />        $a = (int)$mod.substr( $x, 0, $take );<br />        $x = substr( $x, $take );<br />        $mod = $a % $y;<br />		echo $a.'-'.$x.'-'.$mod.'<br>';<br />    }<br />    while ( strlen($x) ); <br />    return (int)$mod; <br />}<br /><br />echo my_bcmod( "7044060001970316212900", 150 );//50<br /><br />/*<br />070440-60001970316212900-90<br />9060001-970316212900-1<br />197031-6212900-81<br />8162129-00-29<br />2900--50<br />*/

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。