Swift3 二进制、十进制、十六进制转换

Swift3 二进制、十进制、十六进制转换,第1张

概述直接上代码,都是很简单的进制转换算法 final class Conversion { // MARK: - 十进制二进制 class func decTobin(number:Int) -> String { var num = number var str = "" while num > 0 {

直接上代码,都是很简单的进制转换算法

final class Conversion {        // MARK: - 十进制转二进制    class func decTobin(number:Int) -> String {        var num = number        var str = ""        while num > 0 {            str = "\(num % 2)" + str            num /= 2        }        return str    }        // MARK: - 二进制转十进制    class func binTodec(number num: String) -> Int {        var sum: Int = 0        for c in num.characters {            let str = String(c)            sum = sum * 2 + Int(str)!        }        return sum    }        // MARK: - 十进制转十六进制    class func decTohex(number:Int) -> String {        return String(format: "%0X",number)    }        // MARK: - 十六进制转十进制    class func hexTodec(number num:String) -> Int {        let str = num.uppercased()        var sum = 0        for i in str.utf8 {            sum = sum * 16 + Int(i) - 48 // 0-9 从48开始            if i >= 65 {                 // A-Z 从65开始,但有初始值10,所以应该是减去55                sum -= 7            }        }        return sum    }}



其实系统自带了进制转换的算法

print(Conversion.decTobin(number: 4))print(Conversion.binTodec(number: "100"))print(Conversion.decTohex(number: 16))print(Conversion.hexTodec(number: "10"))
//系统自带print(String(16,radix: 16))print(String(16,radix: 8))print(String(16,radix: 2))print(String(16,radix: 10))
总结

以上是内存溢出为你收集整理的Swift3 二进制、十进制、十六进制转换全部内容,希望文章能够帮你解决Swift3 二进制、十进制、十六进制转换所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存