Объявление переменной как шестнадцатеричной в Python

Jan 12 2021

У меня есть переменная

s=64

Эта переменная находится в шестнадцатеричном формате. Но Python принимает это как десятичное число. Как объявить его как шестнадцатеричную переменную?

Я знаю, чтобы объявить что-то шестнадцатеричным, мы используем

s=0x64

Но у меня есть только

s=64

Как я могу это сделать?

Ответы

GalBirka Jan 12 2021 at 16:56

Число 64в шестнадцатеричном формате (с основанием 16) равно 100. Чтобы получить ответ, вы должны использовать комбинацию hex () , int () и str (). Если вы начинаете с s = 64и хотите получить в итоге s = 100десятичное значение 0x64, рассмотрите этот код:

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

Если вам нужно что-то еще, поясните, что, и обратите внимание, что вы можете попытаться добиться этого самостоятельно с помощью некоторой комбинации hex (), int () и str ().

1 J_Zar Jan 12 2021 at 16:55

Я думаю, что этого чего-то не хватает в вашей теории кода или в вашем вопросе.

Одно дело ценность, а другое - представление (интерпретация) . Таким образом, значение равно 100 (десятичное), но его можно увидеть ( преобразовать ) как десятичное или шестнадцатеричное (или как вам нравится):

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

Python сохраняет целое число как десятичное (по умолчанию). Если вы хотите иметь число, которое действует как шестнадцатеричное, вы должны закодировать свой собственный класс и использовать процедуры преобразования, которые я показал выше.