Я новичок здесь, поэтому, пожалуйста, извините за любые ошибки, которые я мог совершить:)
Я пытался отправить шестнадцатеричные числа через виртуальную пару последовательных портов, используя Python3, прежде чем я смог протестировать его на реальном устройстве,Тем не менее, единственные способы работы с шестнадцатеричными числами, которые я нашел до сих пор:
a) Использовать их как обычную строку
num_hex = input()
Но это не позволяет мне работать надчисла, поскольку num_hex является строкой
.
b) Конвертируйте их, используя int (, 16)
ip_hex = input()
num_ip_hex = int(ip_hex, 16)
print(ip_hex, num_ip_hex, hex(num_ip_hex))
При использовании здесь num_ip_hex просто храните числа в видебаза 10. Например, выход для оператора print с вводом 'a' равен
input[]: a
output[]: a 10 0xa
.
c) Используйте hex (), а затем используйте их
ip = input(">> ")
ip=int(ip, 16)
ip=hex(ip)
Опять же, это также дает строку.
Мне нужен способ получения шестнадцатеричных чисел и для дальнейшей работы с ними точно таким же образом, а не в виде строк или десятичных дробей.Возможно ли это?
РЕДАКТИРОВАТЬ: Короче говоря, некоторая форма гекса, с которой я могу работать, например, сложение, вычитание, сдвиг влево и т. Д.