Czy istnieje prosty sposób na stworzenie własnego dopełnienia w Pythonie?Od heksadecymalnego do swojego dopełnienia w Pythonie
Na przykład, jeśli weźmiesz wartość heksadecymalną 0x9E
, muszę ją przekonwertować na 0x61
.
Muszę zamienić binarne 1 na 0 i 0 na 1. Wydaje się, że to powinno być proste.
OK Jestem zdezorientowany, dlaczego '~ x' jest nieprawidłowy? W końcu ma być operatorem binarnej negacji. Nie mogę się nadziwić brakiem podpisanego/niepodpisanego rozróżnienia, gdy chodzi o operacje binarne. – Kos
@Kos: '~' dosłownie zwraca '- (x + 1)', co jest świetne, gdy mamy do czynienia z podpisanymi wartościami. Zatem '~ 0x9E' ma wartość' -159' lub '-0x9f'. Dla niepodpisanej bitowej pracy, niezbyt wielka ... –
OK Dostałem to, "konceptualnie nieskończony ciąg" 1 "w języku Pythona przed liczbami ujemnymi" podejście pomieszało się z moją głową. Analogie do C bitwise ops nie zadziałają tutaj :( – Kos