Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.
like image 655
Justin Standard Avatar asked Aug 04 '08 18:08

Justin Standard


People also ask

How do you write binary literals?

Binary literals can be written in one of the following formats: b'value' , B'value' or 0bvalue , where value is a string composed by 0 and 1 digits. Binary literals are interpreted as binary strings, and is convenient to represent VARBINARY, BINARY or BIT values. To convert a binary literal into an integer, just add 0.

How do you assign a binary value in Python?

To assign value in binary format to a variable, we use the 0b suffix. It tells the compiler that the value (suffixed with 0b) is a binary value and assigns it to the variable. Note: To print value in binary format, we use bin() function.

What is binary format in Python?

"Binary" files are any files where the format isn't made up of readable characters. Binary files can range from image files like JPEGs or GIFs, audio files like MP3s or binary document formats like Word or PDF. In Python, files are opened in text mode by default.


2 Answers

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

like image 148
Andreas Thomas Avatar answered Oct 02 '22 11:10

Andreas Thomas


>>> print int('01010101111',2) 687 >>> print int('11111111',2) 255 

Another way.

like image 34
Louis Brandy Avatar answered Oct 02 '22 10:10

Louis Brandy