アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語で、べき乗の計算方法について質問です。

a= b^(3/2)
bの「3分の2乗」の計算ってどうすればいいんですか。効率よく計算する方法があれば知りたいです

A 回答 (5件)

#include <tgmath.h>


してしまえば「どの関数を使えばいいのか」などというアホな悩みから解放されますぜ>#4.
    • good
    • 0

計算する数値型に合わせて pow,powf,powl を使い分けてください


https://linuxjm.osdn.jp/html/LDP_man-pages/man3/ …
https://docs.microsoft.com/en-us/cpp/c-runtime-l …

2/3 の様な循環小数を精度よく計算するならば、任意精度算術ライブラリの利用を検討してください
https://ja.wikipedia.org/wiki/GNU_Multi-Precisio …
    • good
    • 0

pow(b, 1.5) と b*sqrt(b) のどっちが「効率よく」計算できるんだろ.

    • good
    • 0

一般的にべき乗なら、pow関数を使用とか。



a = pow(b, 3/2);

3/2が先に整数計算されて2とか1で処理されたら困るかもなので、
a = pow(b, 3.0/2.0);
a = pow(b, (double)(3.0/2.0));
とかかも。
    • good
    • 0

上式は、「2分の3乗」なので sqrt関数でいけるはず。


式が間違ってるなら、「3分の2乗」で pow関数使える環境なら簡単。
使えない環境なら、説明が長くなるけど・・・・
    • good
    • 0

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