Lintcode: Flip Bits

Determine the number of bits required to flip if you want to convert integer n to integer m.

Have you met this question in a real interview? Yes
Example
Given n = 31 (11111), m = 14 (01110), return 2.

Note
Both n and m are 32-bit integers.

This is to test XOR(called: exclusive or)

Notice "=="'s order higher than "&"

 1 class Solution {
 2     /**
 3      *@param a, b: Two integer
 4      *return: An integer
 5      */
 6     public static int bitSwapRequired(int a, int b) {
 7         // write your code here
 8         int res = 0;
 9         int xor = a ^ b;
10         for (int i=0; i<32; i++) {
11             if (((xor>>i)&1) == 1)
12                 res++;
13         }
14         return res;
15     }
16 };
原文地址:https://www.cnblogs.com/EdwardLiu/p/5104281.html