C言語で2乗をするには?

pow関数のイメージ プログラミング

C言語で2乗を計算するには「pow関数」を使います。

#include <stdio.h>
#include <math.h>

int main(void){

    double answer = pow(3.0, 2.0);

    printf("3の2乗は %lf", answer);

}
// 3の2乗は 9.000000

pow関数

pow関数を使うと次のように「べき乗」を計算できます。

pow関数の第1引数には「底」を、第2引数には「指数」を渡します。

pow([底], [指数])

pow関数の戻り値

pow関数の戻り値はdouble型です。

そのため「3の2乗は 9.000000」のように戻り値が「浮動小数点数」の表記になります。

戻り値を整数(int)に変換したいときは「round関数」で丸めます。

#include <stdio.h>
#include <math.h>

int main(void){

    int answer = round(pow(3, 2));

    printf("3の2乗は %d", answer);

}

// 3の2乗は 9

pow関数の戻り値をround関数に渡すと、整数で結果を得られます。

pow関数を使うときの注意点

pow関数を使うときは以下の点に注意しましょう

  1. math.hをインクルードする
  2. コンパイルするときに「-lm」オプションをつける

1. math.hをインクルードする

math.h」は数学的な関数が含まれている標準ライブラリです。

ソースコードの先頭に次のように書くことで、math.hをインクルードできます。

#include <math.h>

2. コンパイルするときに「-lm」オプションをつける

math.hを使うときは、コンパイルするときに「-lm」オプションをつけます。

  • gccコンパイラの場合:「-lm」オプションをつける
  • clangコンパイラの場合:「-lm」オプションをつける
  • Visual C++コンパイラの場合:リンクオプションに「libm.lib」を指定する

数学ライブラリである「libm」をリンクして、math.hを使えるようになります。

リンクとは「他のソースファイルで定義された関数や変数を結合して、同じプログラムとして実行できるようにする作業」です。

たとえば、gccコンパイラの場合は以下のコマンドでコンパイルします。

gcc program.c -o program -lm

clangコンパイラの場合は以下のコマンドでコンパイルします。

clang program.c -o program -lm

※基本的には「-lm」オプションを明示的につけますが、環境によっては必要がない場合もあるようです。

※べき乗とは?

「ある数を3回掛けること」を3乗、「ある数を3回掛けること」を4乗といいます。

  • 3の3乗 → 3³ = 3 x 3 x 3 = 27
  • 3の4乗 → 3⁴ = 3 x 3 x 3 x 3 = 81

このように、ある数を繰り返し掛けることを「累乗(るいじょう)」といいます。

累乗は 3² のように、繰り返し掛ける数(3)の右上に、繰り返す回数(2)を小さく書いて表記します。

このとき、右上に小さく書いた数を「指数(しすう)」といいます。

繰り返し掛ける数を「底(てい)」といいます。

累乗と呼ぶのは、指数が「1以上の自然数」の場合だけです。

累乗の指数を「1以上の自然数」以外の数にも発展させたものを「べき乗」といいます。

たとえば、3⁻²や10⁰は冪乗の例です。

C言語のpow関数では累乗だけでなく「べき乗」を計算できます。

タイトルとURLをコピーしました