Déclarer une variable en hexadécimal en Python

Jan 12 2021

J'ai une variable

s=64

Cette variable est en hexadécimal. Mais Python le prend comme décimal. Comment le déclarer en tant que variable hexadécimale?

Je sais que pour déclarer quelque chose comme hexadécimal, nous utilisons

s=0x64

Mais je n'ai que

s=64

Comment puis-je y parvenir?

Réponses

GalBirka Jan 12 2021 at 16:56

Le nombre 64en hexadécimal (base 16) est 100. Pour obtenir votre réponse, vous devez utiliser une combinaison de hex () , int () et str () Si vous commencez par s = 64et que vous voulez finir avec s = 100quelle est la valeur décimale de 0x64, considérez ce code:

s = 64
s = int(str(s), 16)

Si vous voulez autre chose, veuillez clarifier quoi, et notez que vous pouvez essayer de le réaliser vous-même avec une combinaison de hex (), int () et str ()

1 J_Zar Jan 12 2021 at 16:55

Je pense que c'est quelque chose qui manque dans votre théorie ou question du code.

Une chose est la valeur et une autre est la présentation (interprétation) . Donc, la valeur est 100 (décimal), mais elle peut être vue ( convertie ) sous forme décimale ou hexadécimale (ou ce que vous voulez):

>>> s=0x64
>>> s
100
>>> hex(s)
'0x64'
>>> h = int(str(0x64), 16)
>>> h
256

Python stocke un entier sous forme décimale (par défaut). Si vous voulez avoir un nombre qui agit comme un hexadécimal, vous devez coder votre propre classe et utiliser les routines de conversion que j'ai montrées ci-dessus.