首页 > 解决方案 > 如何在 Swift 中计算 2 的 6 次方根?

问题描述

我正在尝试在 Swift 中计算 2 的 6 次根,但我找不到合适的函数。

这里有一篇题为“如何找到一个值的第 n 个根? ”的帖子,其中建议的解决方案是使用

pow(2, (1/6))

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

func pow(_ x: Decimal, _ y: Int) -> Decimal

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

iPhone计算器可以做到,所以一定有办法:)

谢谢!

标签: swiftfoundationsquare-root

解决方案


计算 2 的 6 次根:

pow(2.0, 1.0/6.0)

你只需要使用Doubles.

pow对于不同的数据类型,有多个版本。通过使用浮点字面量,Swift 将推断它们是类型Doublepow使用以下签名进行选择:

func pow(_: Double, _: Double) -> Double

或者您可以使用对数(x 的第 n 个根是exp(log(x)/n)wherexnare Doubles:

exp(log(2.0) / 6.0)

推荐阅读