GASで2乗や平方根、立方根のべき乗を計算する方法(累乗演算子とpowメソッド)

Google Apps Script(GAS)の数値計算で、数字の2乗や3乗などの累乗(べき乗)を求めたいケースがあります。

そうしたケースで、累乗演算子やMath.powメソッドによるべき乗の計算方法を解説します。

GASで累乗(べき乗)の計算

Google Apps Script(GAS)のスクリプトで数値処理していると、累乗を計算する時があります。

例えば、正方形などの面積を計算する際は、一辺の長さを2乗し、立方体の場合は3乗します。

なお、累乗とべき乗は似たような表現ですが、数学的には定義が異なります。

累乗は指数部分が自然数または整数である場合に対し、べき乗は指数部分が整数に加え、分数などの実数、複素数も含みます。

そのため、べき乗という大きい括りの中に、累乗が包含されています。

2乗なら掛け算できても累乗数が大きいと大変

Nªの累乗は、Nをa回掛け算することで算出することができます。

N²といった2乗の場合は、Google Apps Script(GAS)でもN*Nの掛け算で計算できます。

N³といった3乗でも、N*N*Nといった計算式でそこまで複雑ではありません。

しかし、累乗の数値が大きくなると、通常の算術演算子の「*」だけで表現すると、式が長くなります。

データ容量などのGB(ギガバイト)は、2を30乗バイトになり、指数部分が膨大になります。

さらに、べき乗には単純な掛け算では表現が難しい平方根や立方根も含まれます。

こうした平方根などのべき乗では、指数部分が整数以外に分数や無理数になるので、通常の四則演算では表現が困難です。

GASでのべき乗の2つの計算方法

Google Apps Script(GAS)では、べき乗(累乗)などを計算する方法として以下の2つが用意されています。

  1. Math.pow()メソッド
  2. 累乗演算子(べき乗演算子)

2乗や3乗といった累乗の計算に加え、平方根や立方根などのべき乗の計算がどちらの方法でも可能です。

Math.powメソッドと累乗演算子のそれぞれの計算方法について解説します。

Math.powメソッドによるべき乗計算

Google Apps Script(GAS)のべき乗計算の1つ目はMath.powメソッドです。

Math.pow(数値,指数)

powメソッドには2つの引数設定が必須になっていて、を計算する場合、Math.pow(N,a)と記述します。

実際にGASでMath.powメソッドでのべき乗計算をログ出力するサンプルコードを用意しました。

function calculatePower() {
  //べき乗する数値を定数として定義
  const num =2;
  //べき乗の指数部分を定数として定義
  const index =4;
  //Math.pow関数を使ってべき乗の計算
  let power = Math.pow(num,index);
  //べき乗(累乗)の計算結果を出力
  console.log(power);
}

サンプルコードを実行すると、2の4乗が計算されて、16が実行ログに表示されます。

Math.powの指数部分に0.5を設定すると平方根、1/3を設定すると立方根のべき乗が計算可能です。

累乗演算子によるべき乗計算

もう1つのGoogle Apps Script(GAS)でのべき乗を計算する方法は累乗演算子(べき乗演算子)です。

累乗演算子は「アスタリスク*」を2つ並べた「**」で表現されます。

num ** index

すると、Math.powと同様にnumの数値をindexでべき乗した計算結果を得ることができます。

function calculatePower() {
  //べき乗する数値を定数として定義
  const num =2;
  //べき乗の指数部分を定数として定義
  const index =4;
  //累乗演算子を使ってべき乗の計算
  let power = num ** index;
  //べき乗(累乗)の計算結果を出力
  console.log(power);
}

累乗演算子のサンプルコードを実行すると、Math.powメソッドの場合と同様に、2の4乗が計算されて16がログ出力されます。

累乗演算子という名称ですが、べき乗も可能なので、整数以外の小数なども指定して算出可能です。

累乗演算子とpowメソッドの使い分けは?

Google Apps Script(GAS)での累乗演算子とpowメソッドの使い分けですが、機能的な部分で差異はありません。

しかし、大きな違いとしては、累乗演算子はGASのV8ランタイムを有効化した時しか利用できない点です。

累乗演算子はGASのベースとなっているJavascriptのES6から利用できるようになりました。

そのため、V8ランタイムを無効した場合、累乗演算子は利用できず、コードの保存ができません。

V8ランタイムを有効化にしていない古いバージョン(Rhinoランタイム)を利用している場合はMath.powメソッドを利用しましょう。

ただ、累乗演算子のほうが通常の算術演算子と同じようにシンプルに記述できるのでV8ランタイムを利用するGASコードでは累乗演算子がオススメです。

まとめ・終わりに

今回、Google Apps Script(GAS)で2乗や3乗の累乗、平方根・立方根などのべき乗を計算する方法を紹介しました。

指数部分が整数の累乗であれば、通常の算術演算子で計算できますが、指数が大きくなると記述量が増えてしまいます。

そうした場合にGASではMath.powメソッドまたは累乗演算子を利用することで表現可能です。

累乗演算子はV8ランタイムでのみ利用可能なので、古いRhinoランタイムで稼働しているGASスクリプトでは、Math.powしか利用できません。

累乗演算子のほうがシンプルに計算ができ、整数以外のべき乗も計算可能なので、現在主流のV8ランタイムのGASではオススメです。