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

时间:2018-06-13 17:34:09

标签: 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计算器可以做到,所以必须有办法:)

谢谢!

1 个答案:

答案 0 :(得分:5)

计算2的第6个根:

le = LabelEncoder()
le.fit(targets)
integer_mapping = {l: i for i, l in enumerate(le.classes_)}

您只需使用pow(2.0, 1.0/6.0) s。

对于不同的数据类型,有Double个版本。通过使用浮点文字,Swift会推断它们属于pow类型并选择带有此签名的Double

pow

或者你可以使用对数(x的第n个根是func pow(_: Double, _: Double) -> Double ,其中exp(log(x)/n)xn s:

Double