Как вставить перед каждым битом в числе, три нулевых бита? К примеру есть число:
а = 10101111 (bin - 8 bit)
Необходимо с помощью битовых операций вставить после каждого бита числа, три нулевых бита, чтобы получилось вот так:
b= 00010000000100000001000100010001 (bin - 32 bit)
Как бы мне это сделать для любых чисел "а" восьми битных?

21 Авг 2019 в 06:31
202 +1
1
Ответы
1

Для вставки трех нулевых битов после каждого бита числа "а" можно использовать следующий алгоритм:

Объявляем переменную "b" для хранения результатаИспользуем цикл для перебора каждого бита числа "а"Для каждого бита выполняем следующие действия:
Сначала добавляем текущий бит в переменную "b"Затем добавляем три нулевых бита к переменной "b"

Пример кода на Python:

a = 0b10101111 # заданное число а
b = 0 # переменная для хранения результата
# Перебор каждого бита числа "а"
for i in range(8):
bit = (a >> i) & 1 # получаем i-й бит числа "а"
b |= bit << (i * 4) # сохраняем i-й бит числа "а" и сразу после него вставляем три нулевых бита
# Вывод результата
print(bin(b)) # результат "b" в двоичном формате

Этот код создаст результат "b", в котором после каждого бита числа "а" будут добавлены три нулевых бита.

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