class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param m int整型 
     * @param n int整型 
     * @return int整型
     */
    int countBitDiff(int m, int n) {
        int i=0;
        int ans=0;
        vector <int> a;
        vector <int> b;
        while(m)
        {
            a.push_back(m%2);
            m/=2;
        }
        while(n)
        {
            b.push_back(n%2);
            n/=2;
        }
        int len1=a.size();
        int len2=b.size();
        int len=min(len1,len2);
        for(i=0;i<len;i++)
        {
            if(a[i]!=b[i])
            {
                ans++;
            }
        }
        if(len1>len)
        {
            for(i=len;i<len1;i++)
            {
                if(a[i]==1)
                {
                    ans++;
                }
            }
        }
        if(len2>len)
        {
            for(i=len;i<len2;i++)
            {
                if(b[i]==1)
                {
                    ans++;
                }
            }
        }
        return ans;
    }
};