我尝试使用
将Integer值-1转换为二进制String(-1, radix: 2)
它应该打印出0b1000但它打印出-1。 我尝试使用另一个数字并寻找另一个教程,但它没有指定负数。 这有什么最好的做法吗?谢谢。
答案 0 :(得分:2)
func printBinary4(x: Int) {
let numBit = 4
var i = x
if i < 0 {
i = 0b1 << numBit + i
}
var str = String(i, radix: 2)
if str.characters.count < numBit {
str = String(repeatElement("0", count: numBit - str.characters.count)) + str
}
print(str)
}
printBinary4(x: -1)
printBinary4(x: -2)
printBinary4(x: -3)
printBinary4(x: 0)
printBinary4(x: 4)
1111
1110
1101
0000
0100