답변을 오버로드 된 함수 집합으로 결합 (다른 언어에서 사용하는 "^^"대신 "**"사용-더 명확함) :
// http://stackoverflow.com/questions/24196689/how-to-get-the-power-of-some-integer-in-swift-language
// Put this at file level anywhere in your project
infix operator ** { associativity left precedence 160 }
func ** (radix: Double, power: Double) -> Double { return pow(radix, power) }
func ** (radix: Int, power: Int ) -> Double { return pow(Double(radix), Double(power)) }
func ** (radix: Float, power: Float ) -> Double { return pow(Double(radix), Double(power)) }
Float를 사용하면 정밀도가 떨어질 수 있습니다. 숫자 리터럴과 정수와 정수가 아닌 혼합을 사용하는 경우 기본적으로 Double이됩니다. 저는 개인적으로 스타일 / 가독성을 위해 pow (a, b)와 같은 함수 대신 수학적 표현을 사용하는 기능을 좋아하지만 그게 바로 저입니다.
pow ()로 인해 오류가 발생하는 모든 연산자는 이러한 함수에서 오류를 발생 시키므로 오류 검사의 부담은 어쨌든 power 함수를 사용하는 코드에 있습니다. 키스, IMHO.
기본 pow () 함수를 사용하면 제곱근 (2 ** 0.5) 또는 역 (2 ** -3 = 1/8)을 사용할 수 있습니다. 역 지수 또는 분수 지수를 사용할 수 있기 때문에 모든 코드를 작성하여 pow () 함수의 기본 Double 유형을 반환했습니다.이 함수는 가장 정밀도를 반환해야합니다 (문서를 올바르게 기억한다면). 필요한 경우 Int 또는 Float 등으로 형변환 할 수 있으며 정밀도가 떨어질 수 있습니다.
2 ** -3 = 0.125
2 ** 0.5 = 1.4142135623731
2 ** 3 = 8