Return the number of bits necessary to represent an integer in binary, excluding the sign and leading zeros:
int.bit_length()
>>> n = -37
>>> bin(n)
'-0b100101'
>>> n.bit_length()
6
def bit_length(self):
s = bin(self) binary representation: bin(-37) --> '-0b100101'
s = s.lstrip('-0b') remove leading zeros and minus sign
return len(s) len('100101') --> 6