import Foundation
let number = 153
print(String(number & 0xFFFFFFFF, radix: 2).padLeft(toLength: 32, withPad: "0"))
print(number)
let invertedNumber = ~number
print(String(invertedNumber & 0xFFFFFFFF, radix: 2).padLeft(toLength: 32, withPad: "0"))
print(invertedNumber)
extension String {
func padLeft(toLength length: Int, withPad pad: String) -> String {
return self.count < length ? String(repeating: pad, count: length - self.count) + self : self
}
}
/*
run:
00000000000000000000000010011001
153
11111111111111111111111101100110
-154
*/