3 janvier 2009
Depuis python 2.6, le langage python peut gérer les nombres entier dans leur représentation binaire.
$ python2.6
>>> 0b101111
47
>>> int('1101', 2)
13
>>> int('0b1101', 2)
13
>>> bin(13)
'0b1101'
Cependant, avec les versions précédentes, seule la conversion de binaire vers décimal est possible facilement.
$ python2.5
>>> int('1101', 2)
13
>>> bin(13)
Traceback (most recent call last):
File "", line 1, in
NameError: name 'bin' is not defined
Voici donc une petite fonction bin :
def bin(n): """Convert an integer to its binary string representation""" res = [] while n > 0: res.insert(0, str(int(n % 2))) n = n // 2 return "".join(res)
Et ainsi :
$ python2.5 >>> def bin(n): ... """Convertit un nombre en binaire""" ... res = [] ... while n > 0: ... res.insert(0, str(int(n % 2))) ... n = n // 2 ... return "".join(res) ... >>> bin(13) '1101' >>> int(bin(13), 2) 13
2 commentaires