How to count the total bits of a number that equal to one (1) in PHP

1 Answer

0 votes
function print_bits($n) {
    for ($i = 31; $i >= 0; $i--) {
        echo ($n >> $i) & 1;
    }
    echo "<br />";
}

function count_bits($n) {
    $count = 0;
    while ($n) {
        $count += $n & 1;
        $n >>= 1;
    }
    return $count;
}

$n = 1358;

print_bits($n);

echo count_bits($n);



/*
run:
     
00000000000000000000010101001110
6
    
*/

 



answered Mar 6, 2019 by avibootz
...