386 votes

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

Comment exprimez-vous un entier comme un nombre binaire avec Python littéraux?

J'ai été capable de trouver la réponse à hex:

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

et, octal:

    >>> 01267
    695
    >>> 0100
    64

Comment utilisez-vous les littéraux d'exprimer binaire en Python?


Résumé des Réponses

  • Python 2.5 et les versions antérieures: peut exprimer binaire à l'aide de int('01010101111',2) mais pas avec un littéral.
  • Python 2.5 et les versions antérieures: il n'y a aucun moyen d'exprimer binaire littéraux.
  • Python 2.6 beta: Vous pouvez le faire comme ceci: 0b1100111 ou 0B1100111.
  • Python 2.6 beta: permettra également 0o27 ou 0O27 (deuxième caractère est la lettre O) pour représenter un octal.
  • Python 3.0 beta: comme 2.6, mais ne permet plus aux anciennes 027 de la syntaxe pour octals.

332voto

Andreas Thomas Points 1887

Pour référencefuture Python possibilités:
En commençant avec la version 2.6 de Python vous pouvez exprimer binaire littéraux à l'aide du préfixe 0b ou 0B:

>>> 0b101111
47

Vous pouvez également utiliser le nouveau bin fonction permettant d'obtenir la représentation binaire d'un nombre:

>>> bin(173)
'0b10101101'

Le développement de la version de la documentation: les nouveautés de la version 2.6 de Python

81voto

Louis Brandy Points 4844
 >>> print int('01010101111',2)
687
>>> print int('11111111',2)
255
 

Autrement.

-2voto

Mark Biek Points 41769

Autant que je peux dire Python, vers le haut par le biais de 2.5, prend uniquement en charge les littéraux hexadécimaux et octaux. J’ai trouvé quelques discussions sur l’ajout de fichier binaire pour les versions futures, mais rien de précis.

-3voto

sparkes Points 10192

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X