[Tutor] Concatenating string
Francesco Loffredo
fal at libero.it
Tue Feb 22 18:45:52 CET 2011
On 22/02/2011 14.46, tee chwee liong wrote:
> hi,
>
> >>> bin(0xff0)
> '111111110000'
> >>> bin(0xff1)
> '111111110001'
> >>> a=bin(0xff0)+bin(0xff1)
> >>> a
> '111111110000111111110001'
> >>> b=0xff0
> >>> c=0xff1
> >>> d=b+c
> >>> d
> 8161
> >>> bin(d)
> '1111111100001'
>
> question:
> 1) why is it that a and d values are different? i'm using Python 2.5.
> 2) how to convert hex to bin in Python 2.5?
As Adam and Bob already pointed out, you are using two different conversion tools and obtain two different types.
If you need a binary representation of a number AS A STRING, you can use bin(n) as you did. Or you can use hex(n) to see an
hexadecimal view of the same number, again AS A STRING. If you want a binary or hex NUMBER, you already have it: EVERY number is
stored internally as a binary value, even if you enter or see it in decimal or in a different base. Look at the following transcript
from the Python interpreter, and please pay attention to the presence or absence of the quotes:
.........................................
. >>> hex(0b1001001001001001001)
. '0x49249.'
. >>> 0b1001001001001001001
. 299593
. >>> 0x49249
. 299593
. >>> bin(0x49249)
. '0b1001001001001001001'
. >>>
........................................
Hope this will help you.
Francesco Loffredo
-----
Nessun virus nel messaggio.
Controllato da AVG - www.avg.com
Versione: 10.0.1204 / Database dei virus: 1435/3457 - Data di rilascio: 21/02/2011
More information about the Tutor
mailing list