1. 32-Bit Fixed Comparison
Intuition
Loop through indices 0 to 31. Extract bitA = (a >> i) & 1 and bitB = (b >> i) & 1. If bitA != bitB, increment flipCount.
When to apply: Baseline comparison.
Algorithm
- Step 1: Initialize count = 0.
- Step 2: Loop i from 0 to 31.
- Step 3: If ((a >> i) & 1) != ((b >> i) & 1), increment count.
- Step 4: Return count.
#include <iostream> using namespace std; int countFlipsBrute(int a, int b) { int count = 0; for (int i = 0; i < 32; ++i) { if (((a >> i) & 1) != ((b >> i) & 1)) { count++; } } return count;} int main() { cout << "Brute (10, 20): " << countFlipsBrute(10, 20) << endl; // 4 cout << "Brute (20, 25): " << countFlipsBrute(20, 25) << endl; // 3 return 0;}Time & Space Complexity
- Time complexity:
O(32) = O(1) - Space complexity:
O(1)