Comment exprimez-vous les littéraux binaires en Python ?

Comment exprimez-vous un entier sous forme de nombre binaire avec des littéraux Python ?

J'ai pu facilement trouver la réponse pour hex :

>>> 0x12AF
4783
>>> 0x100
256

et octal :

>>> 01267
695
>>> 0100
64

Comment utilisez-vous les littéraux pour exprimer le binaire en Python ?

Résumé des réponses

  • Python 2.5 et versions antérieures : peut exprimer le binaire en utilisant int('01010101111',2) mais pas avec un littéral.
  • Python 2.5 et versions antérieures : il n'y a aucun moyen d'exprimer des littéraux binaires.
  • Python 2.6 bêta : vous pouvez procéder comme suit : 0b1100111 ou 0B1100111.
  • Python 2.6 bêta : permettra également à 0o27 ou 0O27 (le deuxième caractère est la lettre O) de représenter un octal.
  • Python 3.0 bêta : identique à la version 2.6, mais n'autorise plus l'ancienne syntaxe 027 pour les octaux.
请先 登录 后评论

4 réponses

Mark Biek

Pour autant que je sache, Python, jusqu'à 2.5, ne prend en charge que l'hexadécimal

请先 登录 后评论
sparkes

Je suis presque sûr que c'est l'une des choses à changer dans Python 3.0 avec peut-être bin() pour aller avec hex() et oct().

MODIFIER : La réponse de lbrandy est correcte dans tous les cas.

请先 登录 后评论
Louis Brandy
>>> print int('01010101111',2)
687
>>> print int('11111111',2)
255

Une autre façon.

请先 登录 后评论
Andreas Thomas

Pour référence

请先 登录 后评论