Complete the function to determine the number of bits required to convert integer `A` to integer `B` (where `A` and `B` >= 0)

The upper limit for `A` and `B` is 2^(16), `int.MaxValue` or similar.

For example, you can change 31 to 14 by flipping the 4th and 0th bit:
```
 31  0 0 0 1 1 1 1 1
 14  0 0 0 0 1 1 1 0
---  ---------------
bit  7 6 5 4 3 2 1 0
```
Thus `31` and `14` should return `2`.

Source: codewars | Difficulty: EASY
Tags: Bit manipulation

Starter code: def convert_bits(a, b):
	

Solutions:
def convert_bits(a, b):
	return bin(a ^ b).count('1')


def convert_bits(a, b):
	return f'{a ^ b:b}'.count('1')


def convert_bits(a, b):
	return format(a ^ b, 'b').count('1')


def convert_bits(a, b):
	difference = bin(a ^ b)[2:]
	return difference.count('1')


binary = lambda x: bin(x)[2:].zfill(32)

def convert_bits(a, b):
	(a, b) = (binary(a), binary(b))
	return sum((a[i] != b[i] for i in range(32)))


def convert_bits(a, b):
	n = a ^ b
	c = 0
	while n:
		c += n & 1
		n >>= 1
	return c


def convert_bits(a, b):
	A = f'{abs(a):040b}'
	B = f'{abs(b):040b}'
	diffs = 0
	for (i, j) in zip(A, B):
		if i != j:
			diffs += 1
	return diffs


def countSetBits(n):
	count = 0
	while n:
		count += n & 1
		n >>= 1
	return count

def convert_bits(a, b):
	return countSetBits(a ^ b)