C言語再認識:4乗の方法 | 技術日誌

技術日誌

ここでは,電子工作,木工などの趣味での記録を書いています。
なお当初はKMK研究所のメインテーマであるSPSのノウハウを書いてきましたが,順次SPSノウハウのページに複製を作っていきます。

 Excelで4乗の演算を行うときは^4でできました。BASICでも同じです。FORTRANでは**4でした。ところがC言語ではこのような演算子が用意されていません。pow関数を使わなければなりません。整数のべき乗だと,掛け算を繰り返す方法もあります。そこで,どれが一番早いか調べてみました。[1] 同じ変数同士を掛けて2乗し,変数に代入,それを更に掛け合わせて4乗にする [2] 同じ変数同士を4回掛けて4乗にする [3] pow関数のうち,一番速そうなpowf(小数点付変数のべき乗関数)を用いて4乗する,の3種類を試しました。これらはそれぞれ8,000,000,000回計算し,所要時間を求めました。tdは計算直前のPOSIX時間(1970年からの秒数)),tは計算後の時間です。t-tdが計算時間になります。[1]は7秒,[2]は6秒,[3]は85秒でした。関数利用は10倍も時間がかかりました。[2]より[1]の方が時間がかかっているのは,2乗した結果を一旦変数に代入しているからだと思います。結局単純に4回掛けるのが良いことがわかりました。