뭐가 더 효율적인가요? pow를 사용하여 제곱을 합니까, 아니면 그냥 자기 자신과 곱합니까?
C에서는 pow에 추가 오버헤드가 있는 함수 호출이 포함되므로 제곱에 x * x를 사용하는 것이 일반적으로 pow(x, 2)를 사용하는 것보다 더 효율적입니다. .
그러나 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!