2016.
06.
05
11:01:41
あっ、関数があるのですね(^^;
結論から書くと
でOKです。
例えば
の結果は10の2乗で「100」になります。
なお、PHP5.6以降では
のような書き方もできます。
例えば
の結果は10の2乗で「100」です。
それでは詳細……と言うほどでもないですが、詳細を書いていきます。
とある処理で10の累乗計算をする必要が出てきてですね。
自分で処理を実装しないとダメなの?と思ったのが、今回のきっかけです。
Google先生、如何でしょう(--?
ふむふむ(--)
標準で関数があるのですね。
でOKでした\(--)/
例えば
を実行すると
と表示されます。
ついでなので、いろいろやってみました。
こんなコードを実行したところφ(--)
こんな結果になりましたよφ(--)
注目すべきは、13~16でしょうか。
マイナス数値に対して小数で累乗するとエラーになります。
また、文字を無理やり累乗してもエラーになりませんでした。
「入力値の数値チェックは、ちゃんとやれ!」ということですね。
なお、PHP5.6以降では「pow()」の代わりに「**」が使えます。
例えば、こんなコードを実行すると
こんな結果になりますφ(--)
「pow()」を使ったときと、まったく同じ結果ですね。
ということで、数値を累乗するときは
・pow()
・「**」(PHP5.6以降)
を使えばOKです。
そんな感じ\(--)/
結論から書くと
pow(【基数】,【指数】)
でOKです。
例えば
pow(10,2)
の結果は10の2乗で「100」になります。
なお、PHP5.6以降では
【基数】 ** 【指数】
のような書き方もできます。
例えば
10 ** 2
の結果は10の2乗で「100」です。
それでは詳細……と言うほどでもないですが、詳細を書いていきます。
とある処理で10の累乗計算をする必要が出てきてですね。
自分で処理を実装しないとダメなの?と思ったのが、今回のきっかけです。
Google先生、如何でしょう(--?
ふむふむ(--)
標準で関数があるのですね。
pow(【基数】,【指数】)
でOKでした\(--)/
例えば
echo pow(10,2);
を実行すると
100
と表示されます。
ついでなので、いろいろやってみました。
こんなコードを実行したところφ(--)
<?php
echo "01:10の2乗:" . pow(10, 2) . "\n";
echo "02:10の0乗:" . pow(10, 0) . "\n";
echo "03:10の-1乗:" . pow(10, -1) . "\n";
echo "04:10の-2乗:" . pow(10, -2) . "\n";
echo "05:10の0.1乗:" . pow(10, 0.1) . "\n";
echo "06:10の0.2乗:" . pow(10, 0.2) . "\n";
echo "07:0の2乗:" . pow(0, 0) . "\n";
echo "08:0の2乗:" . pow(0, 2) . "\n";
echo "09:-2の2乗:" . pow(-2, 2) . "\n";
echo "10:-2の3乗:" . pow(-2, 3) . "\n";
echo "11:-10の-1乗:" . pow(-10, -1) . "\n";
echo "12:-10の-2乗:" . pow(-10, -2) . "\n";
echo "13:-10の0.1乗:" . pow(-10, 0.1) . "\n";
echo "14:-10の0.2乗:" . pow(-10, 0.2) . "\n";
echo "15:「a」の「b」乗:" . pow("a", "b") . "\n";
echo "16:「あ」の「い」乗:" . pow("あ", "い") . "\n";
echo "01:10の2乗:" . pow(10, 2) . "\n";
echo "02:10の0乗:" . pow(10, 0) . "\n";
echo "03:10の-1乗:" . pow(10, -1) . "\n";
echo "04:10の-2乗:" . pow(10, -2) . "\n";
echo "05:10の0.1乗:" . pow(10, 0.1) . "\n";
echo "06:10の0.2乗:" . pow(10, 0.2) . "\n";
echo "07:0の2乗:" . pow(0, 0) . "\n";
echo "08:0の2乗:" . pow(0, 2) . "\n";
echo "09:-2の2乗:" . pow(-2, 2) . "\n";
echo "10:-2の3乗:" . pow(-2, 3) . "\n";
echo "11:-10の-1乗:" . pow(-10, -1) . "\n";
echo "12:-10の-2乗:" . pow(-10, -2) . "\n";
echo "13:-10の0.1乗:" . pow(-10, 0.1) . "\n";
echo "14:-10の0.2乗:" . pow(-10, 0.2) . "\n";
echo "15:「a」の「b」乗:" . pow("a", "b") . "\n";
echo "16:「あ」の「い」乗:" . pow("あ", "い") . "\n";
こんな結果になりましたよφ(--)
01:10の2乗:100
02:10の0乗:1
03:10の-1乗:0.1
04:10の-2乗:0.01
05:10の0.1乗:1.2589254117942
06:10の0.2乗:1.5848931924611
07:0の2乗:1
08:0の2乗:0
09:-2の2乗:4
10:-2の3乗:-8
11:-10の-1乗:-0.1
12:-10の-2乗:0.01
13:-10の0.1乗:NAN
14:-10の0.2乗:NAN
15:「a」の「b」乗:1
16:「あ」の「い」乗:1
02:10の0乗:1
03:10の-1乗:0.1
04:10の-2乗:0.01
05:10の0.1乗:1.2589254117942
06:10の0.2乗:1.5848931924611
07:0の2乗:1
08:0の2乗:0
09:-2の2乗:4
10:-2の3乗:-8
11:-10の-1乗:-0.1
12:-10の-2乗:0.01
13:-10の0.1乗:NAN
14:-10の0.2乗:NAN
15:「a」の「b」乗:1
16:「あ」の「い」乗:1
注目すべきは、13~16でしょうか。
マイナス数値に対して小数で累乗するとエラーになります。
また、文字を無理やり累乗してもエラーになりませんでした。
「入力値の数値チェックは、ちゃんとやれ!」ということですね。
なお、PHP5.6以降では「pow()」の代わりに「**」が使えます。
例えば、こんなコードを実行すると
<?php
echo "17:10の2乗:" . 10 ** 2 . "\n";
echo "18:10の0乗:" . 10 ** 0 . "\n";
echo "19:10の-1乗:" . 10 ** -1 . "\n";
echo "20:10の-2乗:" . 10 ** -2 . "\n";
echo "21:10の0.1乗:" . 10 ** 0.1 . "\n";
echo "22:10の0.2乗:" . 10 ** 0.2 . "\n";
echo "23:0の2乗:" . 0 ** 0 . "\n";
echo "24:0の2乗:" . 0 ** 2 . "\n";
echo "25:-2の2乗:" . -2 ** 2 . "\n";
echo "26:-2の3乗:" . -2 ** 3 . "\n";
echo "27:-10の-1乗:" . -10 ** -1 . "\n";
echo "28:-10の-2乗:" . -10 ** -2 . "\n";
echo "29:-10の0.1乗:" . -10 ** 0.1 . "\n";
echo "30:-10の0.2乗:" . -10 ** 0.2 . "\n";
echo "31:「a」の「b」乗:" . "a" ** "b" . "\n";
echo "32:「あ」の「い」乗:" . "あ" ** "い" . "\n";
echo "17:10の2乗:" . 10 ** 2 . "\n";
echo "18:10の0乗:" . 10 ** 0 . "\n";
echo "19:10の-1乗:" . 10 ** -1 . "\n";
echo "20:10の-2乗:" . 10 ** -2 . "\n";
echo "21:10の0.1乗:" . 10 ** 0.1 . "\n";
echo "22:10の0.2乗:" . 10 ** 0.2 . "\n";
echo "23:0の2乗:" . 0 ** 0 . "\n";
echo "24:0の2乗:" . 0 ** 2 . "\n";
echo "25:-2の2乗:" . -2 ** 2 . "\n";
echo "26:-2の3乗:" . -2 ** 3 . "\n";
echo "27:-10の-1乗:" . -10 ** -1 . "\n";
echo "28:-10の-2乗:" . -10 ** -2 . "\n";
echo "29:-10の0.1乗:" . -10 ** 0.1 . "\n";
echo "30:-10の0.2乗:" . -10 ** 0.2 . "\n";
echo "31:「a」の「b」乗:" . "a" ** "b" . "\n";
echo "32:「あ」の「い」乗:" . "あ" ** "い" . "\n";
こんな結果になりますφ(--)
17:10の2乗:100
18:10の0乗:1
19:10の-1乗:0.1
20:10の-2乗:0.01
21:10の0.1乗:1.2589254117942
22:10の0.2乗:1.5848931924611
23:0の2乗:1
24:0の2乗:0
25:-2の2乗:-4
26:-2の3乗:-8
27:-10の-1乗:-0.1
28:-10の-2乗:-0.01
29:-10の0.1乗:-1.2589254117942
30:-10の0.2乗:-1.5848931924611
31:「a」の「b」乗:1
32:「あ」の「い」乗:1
18:10の0乗:1
19:10の-1乗:0.1
20:10の-2乗:0.01
21:10の0.1乗:1.2589254117942
22:10の0.2乗:1.5848931924611
23:0の2乗:1
24:0の2乗:0
25:-2の2乗:-4
26:-2の3乗:-8
27:-10の-1乗:-0.1
28:-10の-2乗:-0.01
29:-10の0.1乗:-1.2589254117942
30:-10の0.2乗:-1.5848931924611
31:「a」の「b」乗:1
32:「あ」の「い」乗:1
「pow()」を使ったときと、まったく同じ結果ですね。
ということで、数値を累乗するときは
・pow()
・「**」(PHP5.6以降)
を使えばOKです。
そんな感じ\(--)/