数学系関数で覚えておいたほうがいいもの | 15g.jp

Pocket

よく使うもの

よく使われるのはMath 関数、GMP 関数。
桁数が多い場合はBC Math 関数
ビット演算、最大公約数などはgmp関数

n進数の変換

base_convert — 数値の基数を任意に変換する。n進数の変換

切り上げ、切り捨て

ceil() 切り上げ
floor 切り捨て
round — 浮動小数点数を丸める。デフォルトは四捨五入。銀行まるめなども使える

最大値、最小値

min(),max() 最小値、最大値を返す。配列か二個以上の数値を渡す。
注意点
1つの数値しか渡さない場合はエラーになる。
何でも渡せるが、文字列や配列を複数渡すと返り値が楽しいことになるので、なるだけ数値のみか配列一つにまとめたほうが良い。詳細は「標準の比較ルール」で検索

乱数

php7以降はrandom_intかrandom_bytesを使う
php5はmt_rand()を使う。rand()は×。
openssl_random_pseudo_bytes()を使ったほうが良いらしいがさっぱりわからんかった
gmp_random_range()の精度も不明

無限に関する関数

is_infinite — 値が無限大であるかどうかを判定する
is_finite() – 値が有限の数値であるかどうかを判定する
is_nan() – 値が数値でないかどうかを判定する

素数

gmp_prob_prime — 数が”おそらく素数”であるかどうかを調べる
gmp_nextprime — 次の素数を見つける

使わない

gmp_com — 1 の補数を計算する。普通は使わない。桁を溢れさせずに計算することが出来る。コンピューター
内部でよく使われている演算方法