Напишите программу, обнуляющие все биты числа, кроме нескольких последних

29 Ноя 2019 в 19:43
190 +1
0
Ответы
1

Программа на Python, которая обнуляет все биты числа, кроме нескольких последних:

def keep_last_bits(num, keep_bits):
mask = 0
for i in range(keep_bits):
mask = mask << 1
mask = mask | 1
return num & mask
num = 173 # Пример числа
keep_bits = 4 # Количество последних бит, которые нужно сохранить
result = keep_last_bits(num, keep_bits)
print(result)

В этой программе определяется функция keep_last_bits, которая принимает число num и количество бит keep_bits, которые нужно сохранить. Далее создается маска из единиц для указанного количества бит, которая используется для обнуления всех остальных бит числа, кроме последних keep_bits. Функция возвращает число с обнуленными битами, кроме указанного количества последних бит.

Выход числа в данном случае будет 13, так как в двоичном представлении числа 173(10101101) сохранены только последние 4 бита: 1101 (13).

19 Апр 2024 в 00:32
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир