Рубрики

Программа PHP для подсчета устанавливает биты в целое число

Напишите эффективную программу для подсчета числа 1 с в двоичном представлении целого числа.

Примеры :

Input : n = 6
Output : 2
Binary representation of 6 is 110 and has 2 set bits

Input : n = 13
Output : 3
Binary representation of 11 is 1101 and has 3 set bits

<?php
// Функция, чтобы получить не из набора
// биты в двоичном представлении
// из положительного целого числа n

function countSetBits($n)

{

    $count = 0;

    while ($n)

    {

        $count += $n & 1;

        $n >>= 1;

    }

    return $count;

}

  
// Код драйвера

$i = 9;

echo countSetBits($i);

  
// Этот код предоставлен ajit
?>

Выход:

2

Рекурсивный подход:

PHP

<?php
// рекурсивная реализация PHP
// подход к поиску номера
// устанавливаем биты в двоичном представлении
// из положительного целого числа n

  
// рекурсивная функция
// посчитать установленные биты

function countSetBits($n)

{

    // базовый вариант

    if ($n == 0)

        return 0;

  

    else

  

        // если последний бит установлен

        // добавить 1 еще добавить 0

        return ($n & 1) + 

                countSetBits($n >> 1);

}

  
// Код драйвера

  
// получить значение от пользователя

$n = 9;

  
// вызов функции

echo countSetBits($n);

  
// Этот код предоставлен m_kit.
?>

Выход:

2

Пожалуйста, обратитесь к полной статье о количестве битов в целых числах для получения более подробной информации!

Рекомендуемые посты:

Программа PHP для подсчета устанавливает биты в целое число

0.00 (0%) 0 votes