我试图在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计算器可以做到,所以必须有办法:)
谢谢!
答案 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)
和x
是n
s:
Double