quinta-feira, 9 de abril de 2015

CONVERSÕES INTEIRO - HEXADECIMAL - INTEIRO

O ruim do Python 3.x é que a maioria dos resultados é dado como uma string.
Então se você, por exemplo, atribui um inteiro à uma variável e converte para Hexadecimal, terá uma string como retorno.
Observe:

>>> inteiro=64
>>> type(inteiro)
<class 'int'>
>>> hexadecimal=hex(inteiro)
>>> type(hexadecimal)
<class 'str'>
>>> inteiro
64
>>> hexadecimal
'0x40'

Nada mal, você pensa, afinal os valores estão certos. Porém os tipos não estão. Isso à princípio não faz muita diferença. Mas quando você começar a manipular esses dados, vai ter problemas certamente.

Bem... chega de Lero-Lero.
Vamos a algumas transformações:

String em inteiro:

>>> a = 'ac6cad'
>>> int(a,16)
11300013

Inteiro em string:

>>> b=11300013
>>> b
11300013
>>> hex(b)
'0xac6cad'

Para tirar o '0x' da string:

>>> hex(b).split('x')[1]
'ac6cad'

'split' é para "fatiar" a string. o ('x') é o pondo onde você irá fatiar, neste caso. Portanto, se você fizer:

>>> hex(b).split('x')
['0', 'ac6cad']

então a primeira posição [0] contém '0' e a segunda posição [1] contém ['ac6cad'].


Bem... espero ter ajudado no começo....

Qualquer outro tipo de conversão hex-int ou int-hex necessário, por favor, deixem um comentário que terei prazer em incluir neste tópico.

Nenhum comentário:

Postar um comentário