我尝试将整数值-1转换为二进制。
String(-1, radix: 2)它应该打印0b1000,但打印出来-1。我尝试使用另一个数字,并寻找另一个教程,但它没有指定负数。这方面有什么最佳做法吗?谢谢。
发布于 2017-03-19 10:16:26
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
0100https://stackoverflow.com/questions/42883648
复制相似问题