什么更有效率?使用 pow 求平方还是直接与自身相乘?
在 C 语言中,使用 x * x 求平方通常比使用 pow(x, 2) 更有效,因为 pow 涉及一个具有额外开销的函数调用.
但是,在 C 中,由于编译器优化,这两种方法都非常高效:
pow(x, 3) 与 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 |
附加说明:
以上是pow(x, 2) 或 x * x 对于 C 和 C 中的平方更有效吗?的详细内容。更多信息请关注PHP中文网其他相关文章!