// MARK:
// MARK: 字符串转二进制 获取二进制的第几位数(字符串)
/// 字符串转二进制 获取二进制的第几位数(字符串)
func xnStringAndBinaryDigit(string: String,number: Int) -> String? {
// 字符串转 int
let valueForInt = (string as NSString).intValue;
// 后面的参数为转换的进制数 2
let result = String(valueForInt,radix:2);
// 获取字符串内容长度
var length = result.characters.count;
// 第七位数是
var seventiethNumber: String?;
/// 遍历字符串中每个字符 我们需要的是右边数起 第七位数
for i in result.characters {
if length < number {
break;
}
if length == number {
seventiethNumber = String(i);
break;
}
length -= 1;
}
return seventiethNumber;
}
/*
十进制Int 转 二进制String
后面的参数为转换的进制数 2 10 16
*/
let string = String(3,radix:2);
// String 转 NSString
let stringNS = NSString.init(string: string);
// NSString 转 Int(十进制)
let numberInt = stringNS.integerValue;
// 十进制Int 转十六进制String
let stringSixteen = String(30,radix:16)
// 十六进制String 转 十进制Int
let intNumber = stringSixteenChangeToInt(stringSixteen);
print("\(numberInt),\(intNumber)");
// MARK:
// MARK: 十六进制String 转 十进制Int
/// 十六进制String 转 十进制Int
func stringSixteenChangeToInt(stringSixteen:String) -> Int {
let str = stringSixteen.uppercaseString
var numbrInt = 0
for i in str.utf8 {
numbrInt = numbrInt * 16 + Int(i) - 48
// 0-9 从48开始
if i >= 65 {
// A-Z 从65开始,但有初始值10,所以应该是减去55
numbrInt -= 7
}
}
return numbrInt
}
学自:http://www.jianshu.com/p/34d5e958910a