Dichiarare una variabile come esadecimale in Python
Ho una variabile
s=64
Questa variabile è in esadecimale. Ma Python lo prende come decimale. Come lo dichiaro come una variabile esadecimale?
So che per dichiarare qualcosa come esadecimale, usiamo
s=0x64
Ma ho solo
s=64
Come posso fare per questo?
Risposte
Il numero 64
in esadecimale (base 16) è 100
. Per ottenere la tua risposta, dovresti usare una combinazione di hex () , int () e str () Se inizi con s = 64
e vuoi finire con s = 100
quale è il valore decimale 0x64
, considera questo codice:
s = 64
s = int(str(s), 16)
Se vuoi qualcos'altro, chiarisci cosa e nota che puoi provare a ottenerlo da solo con una combinazione di hex (), int () e str ()
Penso che manchi qualcosa nella tua teoria o domanda del codice.
Una cosa è il valore e l'altra è la presentazione (interpretazione) . Quindi il valore è 100 (decimale), ma può essere visto ( convertito ) come decimale o esadecimale (o come preferisci):
>>> s=0x64
>>> s
100
>>> hex(s)
'0x64'
>>> h = int(str(0x64), 16)
>>> h
256
Python memorizza un numero intero come decimale (per impostazione predefinita). Se vuoi avere un numero che funge da esadecimale, dovresti codificare la tua classe e usare le routine di conversione che ho mostrato sopra.