如何在Swift中计算2的第6个根?

Geo*_*org 1 foundation square-root swift

我试图在Swift中计算2的第6个根,我找不到合适的函数.

这里有一篇名为" 如何找到值的第n个根? "的帖子,其中提出的解决方案是使用的

pow(2, (1/6))
Run Code Online (Sandbox Code Playgroud)

但我相信这不起作用,因为签名pow

func pow(_ x: Decimal, _ y: Int) -> Decimal
Run Code Online (Sandbox Code Playgroud)

所以上面公式的结果是1而不是1.122462 ...作为(1/6)舍入到0.

iPhone计算器可以做到,所以必须有办法:)

谢谢!

vac*_*ama 5

要计算2的第6个根:

pow(2.0, 1.0/6.0)
Run Code Online (Sandbox Code Playgroud)

你只需要使用Doubles.

pow不同数据类型有多个版本.通过使用浮点文字,Swift将推断它们是类型Doublepow使用此签名进行选择:

func pow(_: Double, _: Double) -> Double
Run Code Online (Sandbox Code Playgroud)

或者你可以使用对数(x的n次方根是exp(log(x)/n)在那里xnDoubleS:

exp(log(2.0) / 6.0)
Run Code Online (Sandbox Code Playgroud)