Flip Bits

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

 Notice

Both n and m are 32-bit integers.

Example

Given n = 31 (11111), m = 14 (01110), return 2.

 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 diff = a ^ b;
 9         int count = 0;
10         while (diff != 0) {
11             count++;
12             // remove the last 1
13             diff = diff & (diff - 1);  // 这种方法很好。
14         }
15         return count;
16     }
17 };

 

posted @ 2016-07-15 05:31  北叶青藤  阅读(201)  评论(0编辑  收藏  举报