2016-08-29 2 views
1

Я использую Python 3.5.2Могу ли я печатать символы в шестнадцатеричном формате с более чем двумя символами?

Я знаю, что с печатью ("\ x00") (где 0 является символом ASCII) Я могу печатать символы с шестнадцатеричным форматом. Но как я могу напечатать номер 500 000 (в шестнадцатеричном формате: 7A120), когда печать («\ x00») занимает всего 2 символа?

+0

'hex (500000)' будет производить '0x7a120' в виде строки. – dawg

ответ

2

Для печати постоянного выражения шестнадцатеричного, вы можете предварить номер с 0x, и он будет разрешаться в int с эквивалентным значением базового 10, например, так:

>>> print(0x7A120) 
500000 

Если вы хотите напечатать строка с произвольными символами Hexidecimal в нем, используют int:

>>> a = "7A120" 
>>> print(int(a, 16)) 
500000 

Второй аргумент int является базовым для разбора строки из, в этом случае основание 16 (HEX).

Чтобы напечатать целое число в шестнадцатеричном формате, используйте оператор формата, %:

>>> a = 0x7A120 
>>> print("%x" % a) 
7a120 

Вы можете изменить «х» в «% х» в верхний регистр, чтобы напечатать через F в верхнем регистре:

>>> b = 0xABCDEF 
>>> print("%x" % b) 
abcdef 
>>> print("%X" % b) 
ABCDEF 
Смежные вопросы