如何获得一些整数在Swift语言的力量?

如何获得一些整数在Swift语言的力量?,第1张

概述我最近学习swift,但我有一个基本的问题,找不到答案 我想得到一些东西 var a:Int = 3var b:Int = 3 println( pow(a,b) ) // 27 但pow函数只能使用双数,它不能与整数工作,我甚至不能通过double(a)或a.double()…等类型转换int double。 为什么它不提供整数的幂?它肯定会返回一个整数没有歧义! 为什么我不能将整数转换为d 我最近学习swift,但我有一个基本的问题,找不到答案

我想得到一些东西

var a:Int = 3var b:Int = 3 println( pow(a,b) ) // 27

但pow函数只能使用双数,它不能与整数工作,我甚至不能通过double(a)或a.double()…等类型转换int double。

为什么它不提供整数的幂?它肯定会返回一个整数没有歧义!
为什么我不能将整数转换为double?它只是更改3到3.0(或3.00000 …任何)

如果我有两个整数,我想做电源 *** 作,我怎么能做到顺利?

谢谢!

如果你喜欢,你可以声明一个中缀 *** 作符来做。
// Put this at file level anywhere in your projectinfix operator ^^ { associativity left precedence 160 }func ^^ (radix: Int,power: Int) -> Int {    return Int(pow(Double(radix),Double(power)))}// ...// Then you can do this...let i = 2 ^^ 3// ... orprintln("2³ = \(2 ^^ 3)") // Prints 2³ = 8

我使用了两个插入符号,所以你仍然可以使用XOR operator。

Swift 3的更新

在Swift 3中,“magic number”优先级被替换为precedencegroups:

precedencegroup PowerPrecedence { higherThan: MultiplicationPrecedence }infix operator ^^ : PowerPrecedencefunc ^^ (radix: Int,Double(power)))}// ...// Then you can do this...let i2 = 2 ^^ 3// ... orprint("2³ = \(2 ^^ 3)") // Prints 2³ = 8
总结

以上是内存溢出为你收集整理的如何获得一些整数在Swift语言力量?全部内容,希望文章能够帮你解决如何获得一些整数在Swift语言的力量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1059362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存