問題タブ [pow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
11536 参照

c++ - なぜ pow(10,5) = C++ で 9,999 なのか

最近、私はコードのブロックを書きます:

そして結果は間違っています:

このコードだけを使用する場合:

問題はもう発生しません。

誰か説明してくれませんか?どうもありがとうございます!

0 投票する
4 に答える
1920 参照

c# - C#Math.pow(x、0.333)

私はこのコードを持っています。Math.Pow((x-2)、0.333)を見つけようとすると-NaNがあります。それを解決する方法は?なぜNaNなのか?

書き直し...

0 投票する
6 に答える
8572 参照

java - Java Math.pow による間違った結果

次のコードを実行しようとすると

「51185893014090752 8」が得られます

13^15の正しい値は51185893014090757 です。つまり、 5Math.powによって返される結果よりも大きくなります。それを引き起こす可能性のあるもののアイデアはありますか?

0 投票する
1 に答える
172 参照

c - 共有ライブラリから dll に切り替えたところ、pow() が見つからないというエラーが発生しました

エラーは次のとおりです。

math.h を使用する関数であっても、ライブラリ内の他のすべての関数は正常に動作しますが、pow() を必要とする関数を呼び出すとクラッシュします。共有ライブラリの場合は問題なく動作しました。gcc と makefile を使用してコンパイルしています。私が makefile に加えた唯一の変更は、ライブラリーに -ldl を追加したことです。私はまだそこに -lm を持っています。共有ライブラリの代わりにdllへの変更をサポートするようにドライバープログラムを変更しましたが、エラーの原因となった関数は変更されていません。

変更する必要があるメイクファイルは他にありますか? メイクファイルは次のとおりです。

0 投票する
2 に答える
158 参照

c++ - C++ : 奇妙なメタ関数呼び出し

私の C++ コードで奇妙なメタ関数の動作があり、その理由を理解したいと思っています。

この行metaPow<5>(f(x, y))は と同等だと思っていましたf(x, y)*f(x, y)*f(x, y)*f(x, y)*f(x, y)*1.。しかし、そうであればMarker、関数の " " 行が5 回出力されfます。

奇妙なことは、最後に良い結果が得られていることです (たとえば181.019x = 2and y = 4) が、Marker表示される " " は 1 つだけです。どのように可能ですか?したがって、標準の pow() の代わりにコンパイル時の最適化にその関数を使用することは良いオプションですか?

どうもありがとうございました !

0 投票する
1 に答える
1360 参照

php - 浮動小数点累乗の計算 (PHP/BCMath)

私はbcmath拡張機能のラッパーを書いていますが、バグ #10116bcpow()特に厄介です - $right_operand( $exp) を (ネイティブ PHP、任意の長さではない) 整数にキャストするため、平方根 (またはその他の任意の長さ) を計算しようとすると正しい結果ではなく、1常に最終的に得られる数の )より大きい根。1

数値の n 乗根を計算できるアルゴリズムを探し始めたところ、この答えはかなりしっかりしているように見えました。実際にWolframAlpha を使用して数式を拡張したところ、精度を維持しながら速度を約 5% 向上させることができました結果の。

これは、私の BCMath 実装とその制限を模倣した純粋な PHP 実装です。

上記 、整数が得られない場合を除い1 / fmod($exp, 1)てうまく機能するようです。たとえば、$expisの場合0.123456、その逆は となり、と8.10005の結果は少し異なります ( demo ):pow()_pow()

  • pow(2, 0.123456)=1.0893412745953
  • _pow(2, 0.123456)=1.0905077326653
  • _pow(2, 1 / 8)= _pow(2, 0.125)=1.0905077326653

「手動」の指数計算を使用して同じレベルの精度を達成するにはどうすればよいですか?

0 投票する
4 に答える
61305 参照

c - Cのpow関数

math.hライブラリからのべき関数を持つCコードを記述します。プログラムをコンパイルすると、「'pow'関数への未定義の参照」というエラーが表示されました。gccコンパイラ(fedora 9)を使用してプログラムをコンパイルします。

-lmフラグをgccに挿入すると、エラーは省略されますが、pow関数の出力は0になります。

誰か助けてもらえますか?コンパイラに問題はありますか?

ありがとう。

0 投票する
1 に答える
438 参照

c# - ネストされた Math.Pow(...) の動作がおかしい

現在、古い C++ コードを C# に書き直しています。いくつかのテストを実行すると、正常に動作しませんでした。デバッグを開始したところ、理解できないように見える以下に出くわしました。

私はクラスで多くの数学を行っており、Math.Pow 関数を頻繁に使用しているため、そのショートカット メソッドを作成しました。

次に、このメソッドをかなり頻繁に使用する次のようなコード行があります。

この行では期待した結果が得られなかったので、計算する必要があるため、小さな断片に分割し始めました...たとえば、マイナス記号の前の値はq5に等しくなければなりません:

これらの行の後、q5 は 8775553070736.0 です。

次に、長い行を 2 つの部分に分割してみました。最初の行は、上記の 5 行に等しく、1 行として記述されている必要があります。

これはq5と同じと評価されると予想されますが、そうではありません。q12 は代わりに 4479508755225.0 に評価されます

コードの何が問題になっていますか?

0 投票する
4 に答える
19604 参照

c++ - 'pow' はこのスコープで宣言されていません

これが私が受け取ったエラーです:

このエラーが発生した理由を説明できる人はいますか?

0 投票する
4 に答える
14940 参照

c# - 整数値を取るMath.Pow

http://msdn.microsoft.com/en-us/library/system.math.pow.aspxから

Math.Powは引数としてdoubleを取りますが、ここではintを渡します。

質問:doubleへの暗黙の変換が発生した場合、浮動小数点の丸め誤差の危険性はありますか?

はいの場合は、次のようなものを使用することをお勧めします。