function flipped_count($a, $b) {
$n = $a ^ $b;
$count = 0;
while ($n > 0) {
$count++;
$n &= ($n - 1);
}
return $count;
}
$a = 7;
$b = 10;
echo "a = " . sprintf("%04d", decbin($a)) . "\n";
echo "b = " . decbin($b) . "\n";
echo "a ^ b = " . decbin($a ^ $b) . "\n";
echo flipped_count($a, $b);
/*
run:
a = 0111
b = 1010
a ^ b = 1101
3
*/