迅速。从整数

时间:2016-09-14 11:34:55

标签: swift radix

我有二进制0000010,它表示为一个int数组。从这个二进制文件中我得到一个Integer

let number = Int32([0, 0, 0, 0, 0, 1, 0].reduce(0, combine: {$0*2 + $1})) // number = 2

但是当我想要反向操作以获得String

let binaryString = String(2, radix: 2) // binaryString = " 10"

因此,如果基数为0,那么基数会削减一些比特,如何再返回5个零呢?

2 个答案:

答案 0 :(得分:2)

String构造函数无法知道Integer在转换之前有多少零位。你必须自己处理。

顺便说一句,Int也有基数构造函数,用于将字符串转换为Int:

Int("0000010", radix: 2) // Returns 2

答案 1 :(得分:1)

let binaryString = String(2, radix: 2)
let other = String(count: 8 - binaryString.characters.count, repeatedValue: Character("0")) + binaryString