ホームページ > バックエンド開発 > PHPチュートリアル > 大きな数値 (浮動小数点数) の剰余を実装する PHP メソッド

大きな数値 (浮動小数点数) の剰余を実装する PHP メソッド

高洛峰
リリース: 2023-03-05 21:02:01
オリジナル
1549 人が閲覧しました

この記事では、PHP で大きな数の剰余 (浮動小数点数) を実装する方法を主に紹介し、PHP の算術演算に関連する操作スキルをサンプルの形式で分析します。この記事では、PHP での大きな数値 (浮動小数点数) の剰余を取るメソッドの実装について説明します。詳細は次のとおりです。

一般に、剰余演算を実行するときに最初に思いつくのは、除数が大きい値で % を超える場合です。 int の範囲の場合、残りは正確に機能しません。

phpの大きな数値(浮動小数点数)の剰余関数:

/**
 * php大数取余
 *
 * @param int or float $bn 除数
 * @param int $sn 被除数
 * @return int 余数
 */
//大数(浮点数)取余方法
function Kmod($bn, $sn) {
  return intval(fmod(floatval($bn), $sn));
}
ログイン後にコピー


テストコード:

//大数(浮点数)取余方法
function Kmod($bn, $sn) {
  return intval(fmod(floatval($bn), $sn));
}
//整数取余方法
function mod($bn, $sn) {
  return $bn%$sn;
}
//最大的int整数
$bn = PHP_INT_MAX;
$sn = 11;
var_dump($bn);
var_dump(Kmod($bn, $sn));
var_dump(mod($bn, $sn));
//给最大的int整数加1
$bn = PHP_INT_MAX + 1;
var_dump($bn);
var_dump(Kmod($bn, $sn));
var_dump(mod($bn, $sn));
ログイン後にコピー


実行結果:

int 2147483647
int 1
int 1
float 2147483648
int 2
int -2
ログイン後にコピー

More PH P は大きな数を実現します (浮動小数点数の剰余を求める方法の関連記事は、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート