Justin Standard Justin Standard - 5 months ago 8
Python Question

How do you express binary literals in Python?

How do you express an integer as a binary number with Python literals?

I was easily able to find the answer for hex:

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


and octal:

>>> 01267
695
>>> 0100
64


How do you use literals to express binary in Python?




Summary of Answers


  • Python 2.5 and earlier: can express binary using
    int('01010101111',2)
    but not with a literal.

  • Python 2.5 and earlier: there is no way to express binary literals.

  • Python 2.6 beta: You can do like so:
    0b1100111
    or
    0B1100111
    .

  • Python 2.6 beta: will also allow
    0o27
    or
    0O27
    (second character is the letter O) to represent an octal.

  • Python 3.0 beta: Same as 2.6, but will no longer allow the older
    027
    syntax for octals.


Answer

For reference—future Python possibilities:
Starting with Python 2.6 you can express binary literals using the prefix 0b or 0B:

>>> 0b101111
47

You can also use the new bin function to get the binary representation of a number:

>>> bin(173)
'0b10101101'

Development version of the documentation: What's New in Python 2.6

Comments