Declarar una variable como hexadecimal en Python

Jan 12 2021

Tengo una variable

s=64

Esta variable está en hexadecimal. Pero Python lo toma como decimal. ¿Cómo lo declaro como una variable hexadecimal?

Sé declarar algo como hexadecimal, usamos

s=0x64

Pero solo tengo

s=64

¿Cómo puedo hacer esto?

Respuestas

GalBirka Jan 12 2021 at 16:56

El número 64en hexadecimal (base 16) es 100. Para lograr su respuesta, debe usar una combinación de hex () , int () y str () Si comienza con s = 64y desea terminar con s = 100cuál es el valor decimal de 0x64, considere este código:

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

Si desea algo más, aclare qué y tenga en cuenta que puede intentar lograrlo usted mismo con alguna combinación de hex (), int () y str ()

1 J_Zar Jan 12 2021 at 16:55

Creo que eso es algo que falta en su teoría o pregunta del código.

Una cosa es el valor y otra es la presentación (interpretación) . Entonces, el valor es 100 (decimal), pero se puede ver ( convertir ) como decimal o hexadecimal (o lo que quieras):

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

Python almacena un número entero como decimal (por defecto). Si desea tener un número que actúe como hexadecimal, debe codificar su propia clase y usar las rutinas de conversión que mostré anteriormente.