プロが教えるわが家の防犯対策術!

r^3はr*r*rあるいはpow(r,3.0)とするしかないのですか?
しかしpowはrが負の時エラーになるのでは?
よろしくお願いします

A 回答 (2件)

powは純粋なC言語の関数ですから、関数呼び出しが行われます。

しかしr*r*rとすると数値演算プロセッサへの乗算命令にインライン展開されますので演算速度は格段に早くなります。2乗3乗程度でしたら、かけ算を用いるべきです。
    • good
    • 0

pow関数の仕様からみて、rが負の場合はべき乗する数値は整数でなければなりません。

ANSI C言語では複素数を取り扱えませんが、最近のC言語の拡張(C99)によって複素数も取り扱うことができるようになったようです。
http://seclan.dll.jp/c99d/c99d09.htm#dt20000221
ここではcpowという複素数の関数もありますから、分岐がある関数でもの第1分岐くらいは計算できます。

参考URL:http://www.opengroup.org/onlinepubs/007908799/xs …

この回答への補足

fortranならばr**3で簡単に3乗にすることができたのに不便ですね

rの3乗はpowを使うしかないのですか?

補足日時:2002/06/03 15:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A