べき乗演算子

各プログラミング言語におけるべき乗( \(x^y\) )を計算する方法の比較。

Java

Math.pow(x, y)

Scala

Math.pow(x, y)

Groovy

x ** y
Math.pow(x, y)

PHP

x ** y
pow(x, y)

Python

x ** y
pow(x, y)

Ruby

x ** y

Perl

x ** y
pow(x, y)

JavaScript

Math.pow(x, y)

Java / Scala

Math.powを利用する。引数も返り値も浮動小数点数(double)である。

Javaでの例

System.out.println(Math.pow(5, 3));
// => 125.0

System.out.println(Math.pow(1.01, 100));
// => 2.7048138294215285

java.lang.Math.pow | Java Platform SE 8 Javadoc
http://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#pow-double-double-

PHP

pow関数を利用する。

var_export(pow(5, 3));
// => 125

PHP 5.6.0からは ** 演算子も使えるようになった。

var_export(5 ** 3);
// => 125

pow関数 | PHP Manual
http://jp1.php.net/manual/ja/function.pow.php

Arithmetic Operators
http://php.net/language.operators.arithmetic

Python

** 演算子を利用する。またはmathモジュールにあるpow関数でも同じ。

Python2での実行例

import math

print 5 ** 3    # => 125
print pow(5, 3) # => 125

print 2.72 ** 3.14    # => 23.1497528435
print pow(2.72, 3.14) # => 23.1497528435

自分の環境のPython3だとなぜか浮動小数点数の方が、23.14975284345994 と表示桁数が多いという違いがあったが、同じ方法で計算できる。

ちなみに ^ は排他的論理和(XOR)のビット演算子になる。

Ruby

** 演算子を利用する。

例:

p 5 ** 3       # => 125
p 1.01 ** 100  # => 2.7048138294215285

** 演算子 | Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/class/Bignum.html#I%5F–2A–2A
http://docs.ruby-lang.org/ja/2.1.0/class/Fixnum.html#I%5F–2A–2A
http://docs.ruby-lang.org/ja/2.1.0/class/Float.html#I%5F–2A–2A
http://docs.ruby-lang.org/ja/2.1.0/class/Complex.html#I%5F–2A–2A
http://docs.ruby-lang.org/ja/2.1.0/class/Rational.html#I%5F–2A–2A

Perl

** 演算子を利用する。

または pow 関数を使う。ただしこれには use POSIX; という宣言が必要。

print(10.0 ** 1.5);

または

use POSIX;
print(pow(10.0, 1.5)); # => 31.6227766016838

Haskell

中置記法の関数 ^ を利用する。

R言語

**^ のどちらでもよい。

JavaScript

Math.pow 関数を利用する。

Math.pow(5, 3); // => 125

Math.pow(2.72, 3.14) // => 23.14975284345994
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。