Как инвертировать двоичное число в Питоне? 🔄

Для инвертирования двоичного числа в Python вы можете использовать оператор побитового инвертирования (~) совместно с функцией bin().


number = 10
binary = bin(number)
inverted_binary = bin(~number)

print(f"Исходное число: {binary}")
print(f"Инвертированное число: {inverted_binary}")

В этом примере мы сначала преобразуем число 10 в его двоичное представление с помощью функции bin(). Затем мы инвертируем его при помощи оператора побитового инвертирования (~) и сохраняем в переменной inverted_binary. В конце мы выводим исходное и инвертированное числа с помощью функции print().

Детальный ответ

Как инвертировать двоичное число в питоне?

Python предоставляет простой и эффективный способ инвертировать двоичное число. Давайте рассмотрим несколько способов, как это можно сделать.

Способ 1: Использование побитового исключающего ИЛИ (^)

Один из самых простых способов инвертировать двоичное число в Python - это использовать побитовое исключающее ИЛИ (^) с числом, состоящим из единиц. Приведем пример:


def invert_binary_number(number):
    # Создаем число, состоящее из единиц, с той же длиной, что и исходное число
    mask = (1 << number.bit_length()) - 1
    inverted_number = number ^ mask
    return inverted_number

# Пример использования
binary_number = 0b101010
inverted_number = invert_binary_number(binary_number)
print(f"Инвертированное число: {bin(inverted_number)}")  # Выводит: 0b10101

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

Способ 2: Использование побитового NOT (~)

Второй способ инвертировать двоичное число - это использовать побитовый оператор NOT (~). Пример:


def invert_binary_number(number):
    inverted_number = ~number
    return inverted_number

# Пример использования
binary_number = 0b101010
inverted_number = invert_binary_number(binary_number)
print(f"Инвертированное число: {bin(inverted_number)}")  # Выводит: -0b101011

В этом примере мы используем побитовый оператор NOT (~) для инвертирования битов исходного числа. Обратите внимание, что результатом будет отрицательное число, так как оператор NOT также меняет знак числа.

Способ 3: Использование функции bin() и срезов

Еще один способ инвертировать двоичное число - это использовать функцию bin() для преобразования числа в двоичную строку, а затем использовать срезы для инвертирования его. Пример:


def invert_binary_number(number):
    binary_string = bin(number)[2:]  # Игнорируем первые два символа '0b'
    inverted_string = ''.join('1' if bit == '0' else '0' for bit in binary_string)        
    inverted_number = int(inverted_string, 2)
    return inverted_number

# Пример использования
binary_number = 0b101010
inverted_number = invert_binary_number(binary_number)
print(f"Инвертированное число: {bin(inverted_number)}")  # Выводит: 0b10101

В этом примере мы преобразуем исходное число в двоичную строку, используя функцию bin(). Затем мы инвертируем каждый бит строки, используя генератор списка и условное выражение. Далее, мы преобразуем инвертированную строку обратно в число с помощью функции int() с указанием основания 2.

Вот несколько способов, которые вы можете использовать для инвертирования двоичного числа в Python. Выберите тот, который вам более удобен и подходит для вашей задачи.

Видео по теме

Десятичное число в двоичное. Язык программирования Python

системы счисления в python

#63. Расширенное представление чисел. Системы счисления | Python для начинающих

Похожие статьи:

⭐️ Узнайте всё о двоеточии в Python и его назначении!

5 способов определить остаток от деления в питоне и быть мастером программирования 🐍

Как сделать число отрицательным в Питоне? 😮

Как инвертировать двоичное число в Питоне? 🔄

Что значит sqrt в Python? Узнайте сейчас!

🔥Как превратить Python в EXE: простой и понятный гайд для начинающих✨

😎 Как сделать скриншот сайта через питон: пошаговое руководство