swift 中常用的进制转换
2016-04-20 15:15
435 查看
import Foundation extension Character { func toInt() -> Int { var intFromCharacter:Int = 0 for scalar in String(self).unicodeScalars { intFromCharacter = Int(scalar.value) } return intFromCharacter } } //MARK: 十六进制 --> 十进制 func hex2dec(num:String) -> Int { let str = num.uppercaseString 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 } //MARK:十进制 --> 十六进制 func dec2hex(num:Int) -> String { return String(format: "%0X", num) } //MARK: 十进制 -> 二进制 func dec2bin(var number:Int) -> String { var str = "" while number > 0 { str = "\(number % 2)" + str number /= 2 } return str } //MARK: 二进制 -> 十进制 func bin2dec(num:String) -> Int { var sum = 0 for cc in num.characters { sum = sum * 2 + cc.toInt() } return sum }
相关文章推荐
- AFNetworking配合Swift3.0请求数据
- Swift 正则表达式 验证手机号、邮箱、URL等
- Swift URL Schemes使用
- Swift报错type ''does not conform to protocol 'UITableViewDataSource'
- 在项目里交叉使用Swift和OC
- swift 小技巧进阶
- ubuntu之swift环境搭建
- Swift调试输出
- 为什么 2010 年前后诞生的语言(如 Golang, Rust, Swift)都是直接编译成机器码?
- 长远看 Apple 的平台上开发, Swift 真的可以完全取代 OC 吗?
- Swift 为什么没有异常处理?
- Swift,任重而道远!
- 【Swift学习】Swift编程之旅---控制流(九)
- Realm Swift
- Swift文档注释
- Swift命名空间
- Swift方法嵌套
- block,代理和通知的简单介绍--swift闭包
- Swift下标
- Swift中文教程(七) 闭包