代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
@param m int整型
@param n int整型
@return int整型
class Solution: def countBitDiff(self , m: int, n: int) -> int:
#用异或的方法判断位数的不同
#首先将十进制化为二进制:bin()函数可以将十进制化为二进制,但是其输出是字符串
#然后将二进制的字符串使用xor()函数变成在计算时为int输出为str
#最后在res结果内寻找异或为'1'的个数,这就是不同位数的个数
#第一次写,还是借助了度娘的xor函数,汗颜,加油加油
# write code here
mtwo = bin(m)
ntwo = bin(n)
def xor(x, y):
return '{1:0{0}b}'.format(len(x), int(x, 2) ^ int(y, 2))
res = xor(mtwo,ntwo)
return res.count('1')