・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2022年7月19日に投稿されました。)
PHPで累乗の計算する方法として、pow()があります。
pow()とは指定された数値の累乗を計算して取得する関数であり、累乗の計算をした値を返り値として返すようになります。
累乗の計算は、2の3乗なら「2*2*2」とコードを書いて実行できますが、100乗や1000乗になるととても面倒です。
しかし、pow()を使用すると、パラメータに値を2つ指定するだけで簡単に累乗の計算をすることができるのでとても便利です。
また、累乗の計算は負の数や無限大の累乗計算では異例なケースが多いので注意が必要です。
今回はPHPのpow()で累乗の計算を行う方法について紹介していきます。
pow()とは
pow()とは指定された数値の累乗を計算する関数となります。
例えば、2の4乗は「16」のように、累乗計算をした結果を返り値として返すようになります。
pow()の書き方
pow()の書き方は下記のようになります。
1 | <?php pow(基数, 指数); ?> |
pow()は、2つのパラメータを指定することで使用することができます。
pow()のパラメータ
pow()のパラメータは下記のようになります。
- 基数(必須):
累乗を計算するための基数を指定する
(4の2乗の4にあたる部分) - 指数(必須):
累乗を計算するための指数を指定する
(4の2乗の2にあたる部分)
pow()は、必須パラメータとして「基数」と「指数」を指定します。
そして、パラメータに指定できる数値はint型やfloat型など、どれでも指定することができます。
pow()の累乗の計算を行うサンプルコード
pow()で累乗の計算を行うサンプルコードをご紹介します。
ここでは、下記の6つの場合でpow()を使用します。
- 指数に正の数を指定した場合
- 指数に負の数を指定した場合
- 指数に0を指定した場合
- 指数に正の無限大を指定した場合
- 指数に負の無限大を指定した場合
- 指数に非数(NAN)を指定した場合
指数に正の数を指定した場合
指数に正の数を指定した場合に、pow()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $cn1 = 4; echo '⚫︎ 基数: '.$cn1; $index1 = 3; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = 2.5; echo '⚫︎ 基数: '.$cn2; $index2 = 3; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; ?> |
実行結果
指数に正の数を指定して累乗の計算を行っています。
指数に負の数を指定した場合
指数に負の数を指定した場合に、pow()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $cn1 = 4; echo '⚫︎ 基数: '.$cn1; $index1 = -5; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = 0.5; echo '⚫︎ 基数: '.$cn2; $index2 = -3; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; ?> |
実行結果
指数に負の数を指定して累乗の計算を行っています。
負の数を指定するので、累乗すると基本的には1よりも小さくなりますが、「絶対値が1未満」の基数を指定すると、1よりも大きくなります。
指数に0を指定した場合
指数に0を指定した場合に、pow()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $cn1 = 2; echo '⚫︎ 基数: '.$cn1; $index1 = 0; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = 1.5; echo '⚫︎ 基数: '.$cn2; $index2 = 0; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; ?> |
実行結果
指数に0を指定して累乗の計算を行っています。
0の累乗なのでどちらも「1」が返されています。
指数に正の無限大を指定した場合
指数に正の無限大を指定した場合に、pow()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $cn1 = 0.5; echo '⚫︎ 基数: '.$cn1; $index1 = INF; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = 5; echo '⚫︎ 基数: '.$cn2; $index2 = INF; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; ?> |
実行結果
指数に正の無限大を指定して累乗の計算を行っています。
しかし、基数が「0.5」の場合は「0」を返すようになります。
基数の絶対値が1未満で指数が無限大の場合は、「0」を返すようになりますので注意してください。
指数に負の無限大を指定した場合
指数に負の無限大を指定した場合に、pow()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $cn1 = 0.5; echo '⚫︎ 基数: '.$cn1; $index1 = -INF; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = 5; echo '⚫︎ 基数: '.$cn2; $index2 = -INF; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; ?> |
実行結果
指数に負の無限大を指定して累乗の計算を行っています。
しかし、基数が「0.5」の場合は「INF」を返すようになります。
基数の絶対値が1未満で指数が無限大の場合は、「INF」を返すようになりますので注意してください。
指数に非数(NAN)を指定した場合
指数に非数(NAN)を指定した場合に、pow()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $cn1 = 7; echo '⚫︎ 基数: '.$cn1; $index1 = NAN; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = 1.25; echo '⚫︎ 基数: '.$cn2; $index2 = NAN; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; ?> |
実行結果
指数にNAN(非数)を指定して累乗の計算を行っています。
非数の累乗なのでどちらも「NAN」が返されています。
pow()の基数に負の整数を指定して累乗の計算を行うサンプルコード
pow()の基数に負の整数を指定して累乗の計算を行うサンプルコードをご紹介します。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?php $cn1 = -5; echo '⚫︎ 基数: '.$cn1; $index1 = 3; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = -4.5; echo '⚫︎ 基数: '.$cn2; $index2 = -3; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; $cn3 = -4; echo '⚫︎ 基数: '.$cn3; $index3 = 0; echo '⚫︎ 指数: '.$index3; $powNum3 = pow($cn3, $index3); echo '・pow()使用後-3: '.$powNum3; $cn4 = -7.5; echo '⚫︎ 基数: '.$cn4; $index4 = INF; echo '⚫︎ 指数: '.$index4; $powNum4 = pow($cn4, $index4); echo '・pow()使用後-4: '.$powNum2; $cn5 = -2; echo '⚫︎ 基数: '.$cn5; $index5 = -INF; echo '⚫︎ 指数: '.$index5; $powNum5 = pow($cn5, $index5); echo '・pow()使用後-5: '.$powNum5; $cn6 = -3.25; echo '⚫︎ 基数: '.$cn6; $index6 = NAN; echo '⚫︎ 指数: '.$index6; $powNum6 = pow($cn6, $index6); echo '・pow()使用後-6: '.$powNum6; ?> |
実行結果
基数に負の整数を指定して累乗の計算を行っています。
負の整数を指定すると、累乗の値によって符号が変わりますので注意が必要です。
pow()の基数に0を指定して累乗の計算を行うサンプルコード
pow()の基数に0を指定して累乗の計算を行うサンプルコードをご紹介します。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?php $cn1 = 0; echo '⚫︎ 基数: '.$cn1; $index1 = 3; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = 0; echo '⚫︎ 基数: '.$cn2; $index2 = -3; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; $cn3 = 0; echo '⚫︎ 基数: '.$cn3; $index3 = 0; echo '⚫︎ 指数: '.$index3; $powNum3 = pow($cn3, $index3); echo '・pow()使用後-3: '.$powNum3; $cn4 = 0; echo '⚫︎ 基数: '.$cn4; $index4 = INF; echo '⚫︎ 指数: '.$index4; $powNum4 = pow($cn4, $index4); echo '・pow()使用後-4: '.$powNum2; $cn5 = 0; echo '⚫︎ 基数: '.$cn5; $index5 = -INF; echo '⚫︎ 指数: '.$index5; $powNum5 = pow($cn5, $index5); echo '・pow()使用後-5: '.$powNum5; $cn6 = 0; echo '⚫︎ 基数: '.$cn6; $index6 = NAN; echo '⚫︎ 指数: '.$index6; $powNum6 = pow($cn6, $index6); echo '・pow()使用後-6: '.$powNum6; ?> |
実行結果
基数に0を指定して累乗の計算を行っています。
基数が0で指数が「負の数」や「正負の無限大」を指定すると「INF」が返されるようになりますので注意してください。
pow()の基数に正の無限大を指定して累乗の計算を行うサンプルコード
pow()の基数に正の無限大を指定して累乗の計算を行うサンプルコードをご紹介します。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?php $cn1 = INF; echo '⚫︎ 基数: '.$cn1; $index1 = 3; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = INF; echo '⚫︎ 基数: '.$cn2; $index2 = -3; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; $cn3 = INF; echo '⚫︎ 基数: '.$cn3; $index3 = 0; echo '⚫︎ 指数: '.$index3; $powNum3 = pow($cn3, $index3); echo '・pow()使用後-3: '.$powNum3; $cn4 = INF; echo '⚫︎ 基数: '.$cn4; $index4 = INF; echo '⚫︎ 指数: '.$index4; $powNum4 = pow($cn4, $index4); echo '・pow()使用後-4: '.$powNum2; $cn5 = INF; echo '⚫︎ 基数: '.$cn5; $index5 = -INF; echo '⚫︎ 指数: '.$index5; $powNum5 = pow($cn5, $index5); echo '・pow()使用後-5: '.$powNum5; $cn6 = INF; echo '⚫︎ 基数: '.$cn6; $index6 = NAN; echo '⚫︎ 指数: '.$index6; $powNum6 = pow($cn6, $index6); echo '・pow()使用後-6: '.$powNum6; ?> |
実行結果
基数に正の無限大を指定して累乗の計算を行っています。
基数が正の無限大で指数が0未満である場合は、「0」を返すようになりますので注意してください。
pow()の基数に負の無限大を指定して累乗の計算を行うサンプルコード
pow()の基数に負の無限大を指定して累乗の計算を行うサンプルコードをご紹介します。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?php $cn1 = -INF; echo '⚫︎ 基数: '.$cn1; $index1 = 9; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = -INF; echo '⚫︎ 基数: '.$cn2; $index2 = -2; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; $cn3 = -INF; echo '⚫︎ 基数: '.$cn3; $index3 = 0; echo '⚫︎ 指数: '.$index3; $powNum3 = pow($cn3, $index3); echo '・pow()使用後-3: '.$powNum3; $cn4 = -INF; echo '⚫︎ 基数: '.$cn4; $index4 = INF; echo '⚫︎ 指数: '.$index4; $powNum4 = pow($cn4, $index4); echo '・pow()使用後-4: '.$powNum2; $cn5 = -INF; echo '⚫︎ 基数: '.$cn5; $index5 = -INF; echo '⚫︎ 指数: '.$index5; $powNum5 = pow($cn5, $index5); echo '・pow()使用後-5: '.$powNum5; $cn6 = -INF; echo '⚫︎ 基数: '.$cn6; $index6 = NAN; echo '⚫︎ 指数: '.$index6; $powNum6 = pow($cn6, $index6); echo '・pow()使用後-6: '.$powNum6; ?> |
実行結果
基数に負の無限大を指定して、累乗の計算を行っています。
負の無限大を指定すると、累乗の値によって符号が変わりますので注意が必要です。
pow()の基数にNAN(非数)を指定して累乗の計算を行うサンプルコード
pow()の基数にNAN(非数)を指定して累乗の計算を行うサンプルコードをご紹介します。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <?php $cn1 = NAN; echo '⚫︎ 基数: '.$cn1; $index1 = 0.5; echo '⚫︎ 指数: '.$index1; $powNum1 = pow($cn1, $index1); echo '・pow()使用後-1: '.$powNum1; $cn2 = NAN; echo '⚫︎ 基数: '.$cn2; $index2 = -2.25; echo '⚫︎ 指数: '.$index2; $powNum2 = pow($cn2, $index2); echo '・pow()使用後-2: '.$powNum2; $cn3 = NAN; echo '⚫︎ 基数: '.$cn3; $index3 = 0; echo '⚫︎ 指数: '.$index3; $powNum3 = pow($cn3, $index3); echo '・pow()使用後-3: '.$powNum3; $cn4 = NAN; echo '⚫︎ 基数: '.$cn4; $index4 = INF; echo '⚫︎ 指数: '.$index4; $powNum4 = pow($cn4, $index4); echo '・pow()使用後-4: '.$powNum2; $cn5 = NAN; echo '⚫︎ 基数: '.$cn5; $index5 = -INF; echo '⚫︎ 指数: '.$index5; $powNum5 = pow($cn5, $index5); echo '・pow()使用後-5: '.$powNum5; $cn6 = NAN; echo '⚫︎ 基数: '.$cn6; $index6 = NAN; echo '⚫︎ 指数: '.$index6; $powNum6 = pow($cn6, $index6); echo '・pow()使用後-6: '.$powNum6; ?> |
実行結果
基数にNAN(非数)を指定して、累乗の計算を行っています。
指数が0の場合は「0」を返しますが、それ以外は「NAN」を返すようになります。
自然対数の計算を行いたい場合
自然対数の計算を行いたい場合はlog()を使用します。
log()とは、指定した数値の自然対数を求める関数となります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php $num1 = 3; echo '⚫︎ 数値: '.$num1; $logNum1 = log($num1); echo '・log()使用後-1: '.$logNum1; $num2 = 0.25; echo '⚫︎ 数値: '.$cn2; $bottom = 2; echo '⚫︎ 底: '.$bottom; $logNum2 = log($num2, $bottom); echo '・log()使用後-2: '.$logNum2; ?> |
実行結果
log()よって、指定した数値の自然対数が表示されています。
また、パラメータを2つを指定することで、指定した底の真数を求めることもできます。
まとめ
⚫︎ pow()とは指定した数値の累乗を計算する関数である
⚫︎ pow()を使用するには2つのパラメータを指定する
・ 基数(必須)
・ 指数(必須)
⚫︎基数の絶対値が「1未満」で指数が「負の整数」の場合にpow()を使用すると、1よりも大きくなる
⚫︎ 基数の絶対値が「1未満」で指数が「正の無限大」の場合にpow()を使用すると、0を返す
⚫︎ 基数の絶対値が「1未満」で指数が「負の無限大」の場合にpow()を使用すると、INFを返す
⚫︎ pow()の基数に負の数を指定すると、負の数の累乗の計算を行うことができる
(累乗の値によって符号が変わる)
⚫︎ pow()の基数に0を指定すると、0の累乗の計算を行うことができる
(指数が「負の数」や「正負の無限大」の場合は「INF」を返す)
⚫︎ pow()の基数に正の無限大を指定すると、正の無限大の累乗の計算を行うことができる
(指数が「0未満」の場合は、「0」を返す)
⚫︎ pow()の基数に負の無限大を指定すると、負の無限大の累乗の計算を行うことができる
(累乗の値によって符号が変わる)
⚫︎ pow()の基数にNAN(非数)を指定すると、非数の累乗の計算を行うことができる
(指数が0の場合は「0」を返すが、それ以外は「NAN」を返す)
⚫︎ 自然対数の計算を行いたい場合はlog()を使用する