Declaração de uma variável como hexadecimal em Python

Jan 12 2021

Eu tenho uma variável

s=64

Esta variável está em hexadecimal. Mas Python considera isso como decimal. Como posso declará-lo como uma variável hexadecimal?

Eu sei declarar algo como hex, usamos

s=0x64

Mas eu tenho apenas

s=64

Como posso fazer isso?

Respostas

GalBirka Jan 12 2021 at 16:56

O número 64em hexadecimal (base 16) é 100. Para obter sua resposta, você deve usar uma combinação de hex () , int () e str (). Se você começar com s = 64e quiser terminar com s = 100qual é o valor decimal de 0x64, considere este código:

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

Se você quiser outra coisa, esclareça o que e observe que você pode tentar conseguir isso sozinho com alguma combinação de hex (), int () e str ()

1 J_Zar Jan 12 2021 at 16:55

Acho que falta algo em sua teoria ou pergunta sobre o código.

Uma coisa é o valor e a outra é a apresentação (interpretação) . Portanto, o valor é 100 (decimal), mas pode ser visto ( convertido ) como decimal ou hexadecimal (ou o que você quiser):

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

Python armazena um número inteiro como decimal (por padrão). Se você quiser ter um número que atue como hexadecimal, deverá codificar sua própria classe e usar as rotinas de conversão que mostrei acima.