PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのgmp_div_qr()関数の使い方:商と余りを一度に取得する方法

PHPのgmp_div_qr()関数は、2つのGMP数値間で除算を実行し、その結果である商と余りの両方を配列として返す関数です。商と余りを別々の関数で求めることなく、一度の呼び出しでまとめて取得できるのが特徴です。

構文

gmp_div_qr(n1, n2)

パラメータ

  • n1 − 除算される側(被除数)となる最初のGMP数値。PHP 5.6以降ではGMPオブジェクトを指定でき、数値文字列も渡すことが可能です。

  • n2 − 除算する側(除数)となる2番目のGMP数値。こちらもPHP 5.6以降ではGMPオブジェクトを指定でき、数値文字列にも対応しています。

戻り値

gmp_div_qr()関数は、除算の結果を配列として返します。各要素には以下の値が格納されます。

  • [0] − 商(GMPオブジェクト)

  • [1] − 余り(GMPオブジェクト)

使用例

以下に、129を9で割った場合の使用例を示します。

<?php
    $n1 = gmp_init(129);
    $n2 = gmp_init(9);
    $a = gmp_div_qr($n1, $n2);
    print_r($a);
?>

出力

上記コードの実行結果は次のとおりです。

Array
(
    [0] => GMP Object ( [num] => 14 )
    [1] => GMP Object ( [num] => 3 )
)

この例では、129 ÷ 9 の計算が行われており、配列の要素[0]に商「14」、要素[1]に余り「3」がそれぞれGMPオブジェクトとして格納されていることが確認できます。

  1. PHPのgmp_div_q()関数とは?GMP数値の除算方法をわかりやすく解説

    gmp_div_q() 関数は、PHPのGMP拡張モジュールが提供する関数の一つで、大きな整数(GMP数値)同士の除算を行い、その商(割り算の結果)を求めるために使用されます。通常の整数型では扱えない桁数の巨大な数値を正確に計算したい場合に非常に便利です。 構文 gmp_div_q(n1, n2, rounding_mode) パラメータ n1 − 割られる側の最初のGMP数値です。PHP 5.6以降ではGMPオブジェクトを指定でき、それ以前のバージョンや一般的な用途では数値文字列も使用可能です。 n2 − 割る側となる2番目のGMP数値です。こちらもPHP 5.6以降ではGMPオブジェクト

  2. PHPのgmp_and()関数とは?ビット演算ANDの使い方を解説

    PHPの gmp_and() 関数は、2つのGMP数値に対してビット単位のAND(論理積)演算を行い、その結果を返す関数です。GMPライブラリを使用することで、通常の整数型では扱えない大きな数値でも正確にビット演算が可能になります。構文gmp_and($n1, $n2)パラメータn1 − 1つ目のGMP数値。PHP 5.6以降ではGMPオブジェクトを指定できます。数値形式の文字列も渡すことが可能です。n2 − 2つ目のGMP数値。こちらも同様に、PHP 5.6以降ではGMPオブジェクト、または数値形式の文字列を指定できます。戻り値gmp_and() 関数は、ビット単位のAND演算の結果をGMP