C'è un modo semplice per produrre un complemento a uno in python?Da esadecimale al complemento di uno in Python
Ad esempio, se si prende il valore esadecimale 0x9E
, è necessario convertirlo in 0x61
.
Ho bisogno di scambiare gli 1 binari per 0 e 0 per 1. Sembra che questo dovrebbe essere semplice.
OK Sono confuso, perché '' x 'sbagliato? Dopotutto dovrebbe essere l'operatore di negazione binaria. Non riesco a comprendere la mancanza di distinzione firmata/non firmata quando si tratta di operazioni binarie – Kos
@Kos: '~' restituisce letteralmente '- (x + 1)', che è ottimo quando si tratta di valori firmati. Quindi '~ 0x9E' è' -159', o esadecimale '-0x9f'. Per lavori bit a bit senza segno, non così grandioso .. –
OK Ho capito, la "sequenza concettualmente infinita di' 1' di fronte ai numeri negativi "di Python ha incasinato la mia testa. Analogie a operazioni bit a bit su C non funzioneranno qui :( – Kos