În această postare, vom vedea cum se convertește un număr întreg într-un șir hexazecimal în Python.
funcțiahex()
Modul pythonic de a converti un număr întreg într-un șir hexazecimal este folosind funcția încorporată hex()
. Aceasta returnează șirul hexazecimal în minusculă care este prefixat de 0x
.
1
2
3
4
5
6
7
8
|
if __name__ == ‘__main__’:
i = 4095
h = hex(i)
print(h) # ‘0xfff’
|
Pentru a obține un șir hexazecimal cu majuscule sau pentru a scăpa de prefix, folosiți oricare dintre soluțiile discutate mai jos.
funcția format()
O altă opțiune este utilizarea funcției încorporate format()
care poate converti un număr întreg într-un șir hexazecimal folosind specificația de format x
. Dacă utilizați #x
, șirul hexazecimal este prefixat de 0x
. Dacă se utilizează X
sau #X
, se poate obține un șir hexazecimal cu majuscule.
1
2
3
4
5
6
7
|
if __name__ == ‘__main__’:
i = 4095
h = (format(i, ‘#x’), format(i, ‘#X’), format(i, ‘x’), format(i, ‘X’), format(i, ‘X’))
print(h) # (‘0xfff’, ‘0XFFF’, ‘fff’, ‘FFF’)
|
f-strings
Începând cu Python 3.6, puteți utiliza f-strings. Acest lucru se poate face prin prefixarea literalului de șir de caractere cu f
sau F
. Literalul șirului trebuie să fie cuprins între acolade {}
și trebuie să conțină numărul întreg urmat de specificația de formatare x
separate de două puncte :
.
Pentru a prefixa șirul hexazecimal cu 0x
, utilizați #x
și pentru a obține un șir hexazecimal cu majuscule, utilizați X
sau #X
. Iată cum ar arăta codul:
1
2
3
4
5
6
7
|
if __name__ == ‘__main__’:
i = 4095
h = (f'{i:#x}’, f'{i:#X}’, f'{i:x}’, f'{i:X}’, f'{i:X}’)
print(h) # (‘0xfff’, ‘0XFFF’, ‘fff’, ‘FFF’)
|
.