Как обрабатывать и конвертировать различные базы в Python, не разбирая их в строки? - PullRequest
0 голосов
/ 03 мая 2019

У меня есть число в шестнадцатеричном формате, которое мне нужно преобразовать в двоичный файл, чтобы иметь возможность выполнять побитовые операции с ним. Проблема в том, что все функции, которые я обнаружил, которые конвертируют числа в двоичные данные - как format () - возвращают строки, но мне нужно число в типе данных, которым можно манипулировать как двоичным.

Найден fomrat (), но он возвращает строки. Я нашел int (), которая может превратить его в целое число, но не может найти эквивалент для двоичного.

Например, я пытаюсь добавить 1 к 0b0001 и получить сумму как 0b0010, и я не нашел способа сделать это, когда 0b0001 является строкой.

1 Ответ

2 голосов
/ 03 мая 2019

Независимо от того, как вы вводите целое число, Python обрабатывает его одинаково.Это означает, что вы можете делать математику именно так, как вы ожидаете.Например:

hex_num = 0xff

# We can show its binary equivalent
format(hex_num, 'b')

# We can also do math with it
result = hex_num + 1
# including bitwise operations
result2 = hex_num << 1

Затем вы можете вывести результат в любом формате, используя любые функции, как format или bin, которые вы уже нашли.Ключевым моментом является то, что нет внутренней разницы между «шестнадцатеричным числом», «двоичным числом» или обычным целым числом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...