How to count the number of bits to be flipped to convert N1 to N2 in C#

1 Answer

0 votes
using System;

class Program
{
    static int flipped_count(int a, int b) {
        int n = a ^ b;
        int count = 0;
         
        while (n > 0) {
            count++;
            n &= (n - 1);
        }
        return count;
    }
    static void Main() {
        int a = 7, b = 10;
         
        Console.WriteLine("a = " + Convert.ToString(a, 2).PadLeft(4, '0'));
        Console.WriteLine("b = " + Convert.ToString(b, 2));
        Console.WriteLine("a ^ b = " + Convert.ToString(a ^ b, 2));
         
        Console.Write(flipped_count(a, b));
    }
}

 
 
 
/*
run:
  
a = 0111
b = 1010
a ^ b = 1101
3
  
*/

 



answered Dec 26, 2021 by avibootz
...