Je veux convertir une chaîne hexagonale (ex: 0xAD4
) au nombre hexadécimal, puis à ajouter 0x200
à ce numéro et souhaitez à nouveau imprimer ce numéro sous la forme de 0x
sous forme de chaîne.
j'ai essayé pour la première étape:
str(int(str(item[1][:-2]),16))
mais la valeur imprimée est une chaîne décimale et non une chaîne au format hexadécimal (au format 0x) (je veux imprimer le résultat final sous la forme de 0x
)
[:-2]
pour supprimer les derniers 00 de ce nombreitem[1]
contient le nombre hexadécimal sous la forme de 0x
Essaye ça:
hex_str = "0xAD4"
hex_int = int(hex_str, 16)
new_int = hex_int + 0x200
print hex(new_int)
Si vous n'aimez pas le 0x
au début, remplacez la dernière ligne par
print hex(new_int)[2:]
Utilisez la fonction int
avec le deuxième paramètre 16 pour convertir une chaîne hexadécimale en entier. Enfin, utilisez la fonction hex
pour la reconvertir en nombre hexadécimal.
print hex(int("0xAD4", 16) + int("0x200", 16)) # 0xcd4
Au lieu de cela, vous pouvez directement faire
print hex(int("0xAD4", 16) + 0x200) # 0xcd4