Swift。从整数中获取二进制字符串

Swift. Get binary string from an integer

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

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

但是当我想逆运算得到一个String:

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

所以如果 radix 为 0,那么它似乎会削减一些位,如何 return 再增加 5 个零?

字符串构造函数无法知道整数在转换之前有多少个零位。你必须自己处理。

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

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

Swift 5

var binaryString = String(2, radix: 2)
binaryString = String(repeating: "0", count: 8 - binaryString.count) + binaryString