swift - 如何在 Swift 中计算 2 的 6 次方根?

标签 swift foundation square-root

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

这里有一篇标题为“How to find the nth root of a value?”的帖子,其中建议的解决方案是使用

pow(2, (1/6))

但我认为这行不通,因为 pow 的签名是

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

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

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

谢谢!

最佳答案

计算 2 的 6 次方根:

pow(2.0, 1.0/6.0)

你只需要使用Double

针对不同的数据类型,pow 有多个版本。通过使用浮点文字,Swift 将推断它们是 Double 类型并选择具有此签名的 pow:

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

或者您可以使用对数(x 的第 n 次方根是 exp(log(x)/n) 其中 xn:

exp(log(2.0) / 6.0)

关于swift - 如何在 Swift 中计算 2 的 6 次方根?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50843131/

相关文章:

objective-c - 苹果私有(private)头文件中给出Underscore的原因是什么

python - Python 3 中大于 10^2000 的数字的平方根

java - 运行自定义平方根函数时出错 (Java)

来自 CALayer 崩溃的 Swift UIImage

swift - CollectionViewCell 在 reloadData 函数后加载 nil 值

ios - 为什么我收到零错误?

ios - 如何通过 `UnsafeMutablePointer<CFTypeRef?>?` 参数返回字典?

objective-c - NSDateFormatter 失败,字符串看起来正确

c - C 上的 float 问题

objective-c - 使用VID和PID检测USB设备的例子