PHP 剰余関数 MOD(x,y) および x%y_PHP チュートリアルの概要

WBOY
リリース: 2016-07-13 10:29:46
オリジナル
957 人が閲覧しました

剰余関数 PHP剰余関数 PHP 2つの剰余 MOD (x, y) x%y

MOD

例: 9/3、9 は被除数、3 は除数です。mod 関数は剰余関数であり、その形式は次のとおりです:
mod(nExp1,nExp2)、これは 2 つの数値式を除算した後の剰余です。同じ符号を持つ 2 つの整数の余りを求めることは、既知の 2 つの正の数の余りを求めることとまったく同じです (つまり、2 つの負の整数のアルゴリズムは 2 つの正の整数のアルゴリズムと同じです)。

1. 符号の異なる 2 つの整数の余りを求めます

1. 関数値の符号規則 (剰余の符号)
mod (負、正) = 正
mod (正、負) = 負
結論: 2 つの整数の剰余を求める場合、値の符号は次のとおりです。除数。
2.値のルール
まず2つの整数を正の数として扱い、その後除算を実行します
①整数で割れる場合はその値は0になります
②整数で割れない場合はその値=除数×(整数商+ 1) - 被除数
例: mod(9,-8)=-7
つまり、9 を 8 で割った整数商は 1 であり、1 を加算すると、その除数との積は 18 になります。被除数との差は 7 であり、除数の符号をとります。したがって、値は -7 になります。

2. 小数点以下 2 桁の余りを求めます

値のルール: 被除数 - (整数商 × 除数) の後、小数点第 1 位を四捨五入します。
例: mod(9,1.2)=1
つまり、9 を 1.2 で割った整数の商は 7、7 と除数 1.2 の積は 8.4、四捨五入後の被除数 9 との差は 8 になります。 8は1です。したがって、結果は 1 になります。
例: mod(9,2.4)=0
つまり、9 を 2.2 で割った整数の商は 4、4 と除数 2.2 の積は 8.8、四捨五入後の被除数 9 との差は 9 になります。 9は0です。したがって、結果は 0 になります。
OK、これらはあなたのニーズを満たすことができますか?
%

コードをコピーします コードは次のとおりです:

echo 15%4;
//結果は3です


の剰余演算(%)について話しましょう。 PHP

今日、Baidu で次の例を見つけました: http://zhidao.baidu.com/question/41130500.html それから、PHP の残りの部分を勉強したいと思いました。

以下のコードをコピーします: & lt ;? PHP $ value = $value*100;

;
質問者は、上記の出力のデメリットの出力が、想像上の 45 ではなく、なぜ 44 なのか疑問に思っています。次のような場合:

エコー 945%100 //45

その場合、結果は 45 になるはずです。これは、PHP がデフォルトで変数を丸め、剰余計算を実行するためです。

PHP 浮動小数点数については、laruence のブログ投稿: http://www.laruence.com/2013/03/26/2884.html

次に、以下の PHP コードを見てください:

コードをコピーします

コードは次のとおりです:

/* * 名前: mckee * ブログ: http://www.phpddt.com */
$val= 9.45;
$ result=$val*100;
echo intval($result); //ここに 944 を出力
echo $result%100; //ここに 44 を出力
echo fmod(floatval($result),100); /ここに 45 を出力します
?>



大きな整数の場合、php はオーバーフローし、負の数を返す可能性があります (これは、php がデフォルトで整数の剰余を使用するため、(上記のように) float 型に変換する必要があるためです)。これを行うことができます:



コードをコピーします

コードは次のとおりです:

function Kmod($bn, $sn){ return intval(fmod(floatval($bn), $sn));}




http://www.bkjia.com/PHPjc/770579.html
www.bkjia.com本当

http://www.bkjia.com/PHPjc/770579.html技術記事剰余関数 PHP 剰余関数 PHP 2 つの剰余 MOD (x, y) x%y MOD 例: 9/3, 9 は被除数、3 は除数 mod 関数は剰余関数であり、その形式は次のとおりです。 nExp1,nExp2)、つまり 2 つ...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート