Пытаясь ответить на другой пост, решение которого касается IP-адресов и сетевых масок, я застрял с простой побитовой арифметикой.
Существует ли в Python стандартный способ выполнения побитовых операций AND, OR, XOR, NOT при условии, что входные данные являются "32-битными" (возможно, отрицательными) целыми или длинными, и что результат должен быть длинным диапазон [0, 2 ** 32]?
Другими словами, мне нужен рабочий аналог Python для битовых операций C между беззнаковыми длинными.
РЕДАКТИРОВАТЬ: конкретная проблема заключается в следующем:
>>> m = 0xFFFFFF00 # netmask 255.255.255.0
>>> ~m
-4294967041L # wtf?! I want 255