代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

@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')