在Swift中将负数更改为二进制
我曾尝试使用在Swift中将负数更改为二进制,swift,Swift,我曾尝试使用 String(-1, radix: 2) 它应该打印出0b1000,但打印出-1。 我尝试过使用另一个数字并寻找另一个教程,但它没有指定负数。 这方面有什么最佳实践吗?谢谢。func printbary4(x:Int){ func printBinary4(x: Int) { let numBit = 4 var i = x if i < 0 { i = 0b1 << numBit + i } var
String(-1, radix: 2)
它应该打印出0b1000,但打印出-1。
我尝试过使用另一个数字并寻找另一个教程,但它没有指定负数。
这方面有什么最佳实践吗?谢谢。func printbary4(x:Int){
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
让它=4
变量i=x
如果i<0{
i=0b10b1000
不是-1你知道我的意思,兄弟。你能告诉我怎么做吗?我不知道你的意思,一点也不。问得更具体些。