整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。
示例1:
输入:A = 29 (或者0b11101), B = 15(或者0b01111)
输出:2
示例2:
输入:A = 1,B = 2
输出:2
提示:
- A,B范围在[-2147483648, 2147483647]之间
Python 解答:
class Solution:
def convertInteger(self, A: int, B: int) -> int:
A = ((1<<32)-1)&A
B = ((1<<32)-1)&B
c = A^B
count = 0
while c > 0:
r = c&1
if r:
count += 1
c >>= 1
return count
留言