beats 100 %, cpp solution with comments
```\n// Runtime: 0 ms, faster than 100.00% of C++ online submissions for Minimum Flips to Make a OR b Equal to c.\n// Memory Usage: 6 MB, less than 51.42% of C+
```\n// Runtime: 0 ms, faster than 100.00% of C++ online submissions for Minimum Flips to Make a OR b Equal to c.\n// Memory Usage: 6 MB, less than 51.42% of C++ online submissions for Minimum Flips to Make a OR b Equal to c.\nclass Solution {\npublic:\n    int minFlips(int a, int b, int c) {\n        int count = 0;\n        while(a != 0 || b != 0 || c){\n            //check the last bit\n            int aBit = a & 1;\n            int bBit = b & 1;\n            int cBit = c & 1;\n            if(cBit == 1 && bBit == 0 && aBit == 0){\n                count ++; //if both zero then to make a || b = 1  atleast one 1 is needed\n            }else if (cBit == 0){\n                if(aBit == 1 && bBit == 1) count += 2;//if both 1 then both should be zero to make a || b = 0\n                if(aBit + bBit == 1) count++;//if one is zero flip the other one\n            }//shift to check for next digit\n            a >>= 1;\n            b >>= 1;\n            c >>= 1;\n        }\n        return count;\n    }\n};
[]