Решение модуля 10.2 Добрый, добрый Python

Модуль 10.2 Битовые операции И, ИЛИ, НЕ, XOR.

Установите соответствия между обозначениями операторов и их описаниями.

Решение модуля 10.2 Добрый, добрый Python

На вход программы подается целое десятичное число. Используя битовые операции, включите третий бит введенного числа. Выведите на экран полученное числовое значение.

P. S. Распределение номеров бит представлено на следующем рисунке.

Решение модуля 10.2 Добрый, добрый Python
# принимаем ввод целого числа
a = int(input())

# применяем операцию побитового ИЛИ (OR) между значением переменной a и числом 8 (в двоичном виде 0b1000)
a = a | 8

# выводим результат
print(a)

На вход программы подается целое десятичное число. Используя битовые операции, выключите 4-й и 1-й биты введенного числа. Выведите на экран полученное числовое значение.

P. S. Распределение номеров бит представлено на следующем рисунке.

Решение модуля 10.2 Добрый, добрый Python
# принимаем ввод целого числа
n = int(input())

# применяем операцию побитового И (AND) между значением переменной n и битовым отрицанием числа 0b10010
# битовое отрицание инвертирует каждый бит в числе, то есть меняет 0 на 1 и наоборот
res = n & ~0b10010

# выводим результат
print(res)

 На вход программы подается целое десятичное число. Используя битовые операции, переключите 3-й и 0-й биты введенного числа. Выведите на экран полученное числовое значение.

P. S. Распределение номеров бит представлено на следующем рисунке.

Решение модуля 10.2 Добрый, добрый Python
# принимаем ввод целого числа 
n = int(input())

# применяем операцию побитового исключающего ИЛИ (XOR) между значением переменной n и числом 0b1001
# операция побитового XOR выставляет в результате единицу только в тех битах, которые отличаются в двух операндах,
# а в остальных битах результат будет равен нулю
# если бит в n равен 0, то в результате его значение будет равно значению соответствующего бита числа 0b1001,
# если бит в n равен 1, то в результате его значение будет инвертировано (0 станет 1, а 1 - 0)
print(n ^ 0b1001)

На вход программы подается целое десятичное число. Используя битовые операции, выполните умножение введенного числа на 4. Результат отобразите на экране.

# Получаем целочисленное значение
a = int(input())

# Выполняем левый сдвиг значения переменной 'a' на 2 бита и выводим результат
print(a<<2)

На вход программы подается целое десятичное число. Используя битовые операции, выполните целочисленное деление введенного числа на 2. Результат отобразите на экране.

# Получаем целочисленное значение 
a = int(input())

# Выполняем правый сдвиг значения переменной 'a' на 1 бит и выводим результат
print(a>>1)

Вводится зашифрованное слово. Шифрование кодов символов этого слова было проведено с помощью битовой операции XOR с ключом key=123. То есть, каждый символ был преобразован по алгоритму:

x = ord(x) ^ key

Здесь ord — функция, возвращающая код символа x. Расшифруйте введенное слово и выведите его на экран.

P. S. Подсказка: для преобразования кода в символ используйте функцию chr.

# Проходим по каждому символу введенной пользователем строки
for i in input():
    # Выполняем операцию побитового исключающего ИЛИ между кодом символа 'i' и числом 123,
    # затем преобразуем полученный код символа в символ с помощью функций ord и chr,
    # и выводим его в стандартный вывод без перевода строки
    print(chr(ord(i) ^ 123), end='')

На вход программы подается целое десятичное число. Используя битовые операции, проверьте, включен ли 6-й и 3-й биты введенного числа. Если они оба включены, то выведите слово ДА, иначе — слово НЕТ.

P. S. Распределение номеров бит представлено на следующем рисунке.

Решение модуля 10.2 Добрый, добрый Python
# принимаем число и преобразуем в целое
n = int(input())

# проверяем, есть ли в двоичном представлении числа биты 3 и 6, установленные в 1
if n & (1 << 3) and n & (1 << 6):
    # если оба бита установлены, выводим "ДА"
    print('ДА')
else:
    # иначе выводим "НЕТ"
    print('НЕТ')

На вход программы подается целое десятичное число. Используя битовые операции, проверьте, включен ли 5-й или 1-й биты введенного числа. Если включен хотя бы один из этих битов, то выведите слово ДА, иначе — слово НЕТ.

P. S. Распределение номеров бит представлено на следующем рисунке.

Решение модуля 10.2 Добрый, добрый Python
# принимаем число и преобразуем в целое
n = int(input())

# проверяем, есть ли в двоичном представлении числа бит 1 или 5, установленные в 1
if n & (1 << 1) or n & (1 << 5):
    # если хотя бы один из битов установлен в 1, выводим "ДА"
    print('ДА')
else:
    # иначе выводим "НЕТ"
    print('НЕТ')

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x