どれがより効率的ですか? pow を使用して 2 乗しますか?それとも単純に乗算しますか?
C では、一般に、pow には追加のオーバーヘッドを伴う関数呼び出しが含まれるため、2 乗に x * x を使用する方が pow(x, 2) を使用するよりも効率的です。 .
ただし、C では、コンパイラのおかげで両方のアプローチが効率的になる場合があります。最適化:
pow(x, 3) vs. x x x
C では、 pow(x, 3) と x * x * x は通常、効率の点で同等です。 C の std::pow 関数は、より一般的な形式 (pow(double, double)) をとり、指数を浮動小数点数として処理します。
具体的な考慮事項:
ここでは、GCC と Clang の最新のベンチマークを示し、さまざまな指数の効率をテストしています。
Exponent | GCC (O3) | Clang (O3) |
---|---|---|
2 | x * x slightly faster | Similar |
3 | x * x * x faster | Similar |
4 and above | x * x * x * ... faster | Similar |
追加メモ:
以上がC および C での二乗計算では pow(x, 2) または x * x の方が効率的ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。