Прежде всего, я не эксперт в Python, так вот моя тема:Python инвертировать ряд
Я хочу, чтобы инвертировать число, скажем number = "ABCD123"
(да это строка, но мне нужно, чтобы сделать это таким образом ...), проблема в том, что я действительно не удовлетворен тем, как Python справляется с инверсией, например ~0xABCD123
- -180146468
, и я не хочу, чтобы MSB, но только «текущие» биты, которые нужно инвертировать. Я могу пойти с чем-то вроде ~0xABCD123 & 0XFFFFFFF
, но размер номера может реально изменить ...
Вопрос
Есть ли способ, чтобы динамически «слепок» или удалить бит знака в Python с оператором ~
И если вы хотите, чтобы делать то, что вы сказали, почему не так и с 16 ** (длина вашей строки) - 1? –
например, у меня есть '0XD5', который является двоичным' 11010101', когда я делаю '~ 0xD5', результат равен' -214', но я хочу, чтобы результат был инвертирован как '00101010'. Возможно, я не понимаю концепцию Python '' ' – Jaay
. В этом случае вам лучше XORing с FF..F. Я не думаю, что в Python есть целые числа без знака. –