■この記事の概要
xの二乗はx^2ではありません。
math.hをincludeしてpow関数を使います。
この記事は、C言語での二乗計算における^
の誤用を指摘し、正しい計算方法として標準関数pow()
を紹介しています。
具体的なコード例を使い、math.h
のインクルードとコンパイル時の注意点を解説しています。
■xの二乗はpow関数を使う
#include <stdio.h>
#include <math.h>//★必要
int main(void){
puts("xの二乗の求め方");
for(int x = 0 ; x < 10 ;x++){
printf("%d*%d = %.1f\n",x,x,pow(x,2.0));
}
puts("2のべき乗の求め方");
for(int x = 0 ; x < 10 ;x++){
printf("2^%d = %.1f\n",x,pow(2.0,x));
}
}
xの二乗の求め方
0*0 = 0.0
1*1 = 1.0
2*2 = 4.0
3*3 = 9.0
4*4 = 16.0
5*5 = 25.0
6*6 = 36.0
7*7 = 49.0
8*8 = 64.0
9*9 = 81.0
2のべき乗の求め方
2^0 = 1.0
2^1 = 2.0
2^2 = 4.0
2^3 = 8.0
2^4 = 16.0
2^5 = 32.0
2^6 = 64.0
2^7 = 128.0
2^8 = 256.0
2^9 = 512.0
●注1:pow()のような数学関数を使う時は
必ずmath.hをincludeして下さい。
●注2:C言語では^はビットごとの
排他的ORなので
^ではべき乗は求まりません。
●注3:コンパイル・リンク方法
間違い:gcc pow.c
正しい:gcc pow.c -lm
-lmを指定しないと数学関数ライブラリが
リンクされないので
undefined reference to `pow’の
リンクエラーが出ます
参考: