Dichiarare una variabile come esadecimale in Python

Jan 12 2021

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

GalBirka Jan 12 2021 at 16:56

Il numero 64in esadecimale (base 16) è 100. Per ottenere la tua risposta, dovresti usare una combinazione di hex () , int () e str () Se inizi con s = 64e vuoi finire con s = 100quale è 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 ()

1 J_Zar Jan 12 2021 at 16:55

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.