Рубрики

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

Напишите эффективную программу для подсчета числа 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

# Функция для получения не установленных битов в двоичном
# представление положительного целого числа n * /

def  countSetBits(n):

    count = 0

    while (n):

        count += n & 1

        n >>= 1

    return count

  

  
# Программа для тестирования функции countSetBits * /

i = 9

print(countSetBits(i))

  
# Этот код предоставлен
# Смита Динеш Семвал

Выход:

2

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

python3

# Реализация рекурсивной Python3
# подход, чтобы найти номер набора
# бит в двоичном представлении
# положительное целое число n

  

def countSetBits( n):

      

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

    if (n == 0):

        return 0

  

    else:

  

        # если последний бит установлен, добавьте еще 1

        # добавить 0

        return (n & 1) + countSetBits(n >> 1)

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

n = 9

  
# Вызов функции

print( countSetBits(n))     

          
# Этот код предоставлен sunnysingh

Выход:

2

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

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

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

0.00 (0%) 0 votes