Subtract the binary value of a number from a string of 1s of the same length as that of binary. Although it's a decimal subtraction, it'll work because of 1s and 0s. Treating that number as a binary, convert into decimal. It's done by string manipulation here in this simple code.

```
def findComplement(self, num):
"""
:type num: int
:rtype: int
"""
return int(str(eval('1'*len(bin(num)[2:]) + '-' + bin(num)[2:])), 2)
```