Дополнительно
Как выразить двоичные литералы в Python?
Как выразить целое число в виде двоичного числа с помощью литералов Python?
Я легко смог найти ответ для шестнадцатеричного числа:
>>> 0x12AF
4783
>>> 0x100
256
и восьмеричного:
>>> 01267
695
>>> 0100
64
**Как вы используете литералы для выражения двоичного числа в Python?
Обзор ответов
- Python 2.5 и более ранние версии: можно выразить двоичный код с помощью
int('01010101111',2)
, но не с помощью литерала. - Python 2.5 и более ранние версии: нет способа выразить двоичные литералы.
- Python 2.6 beta: Вы можете сделать так:
0b1100111
или0B1100111
. - Python 2.6 beta: также позволит
0o27
или0O27
(второй символ - буква O) для представления восьмеричного числа. - Python 3.0 beta: То же, что и в версии 2.6, но больше не будет допускать старый синтаксис
027
для восьмеричных чисел.
334
6
Для reference& mdash; future возможности Пайтона:
Начиная с Питона 2.6 Вы можете выразить двойные опечатки, используя префикс 0b или 0B :
Вы можете также использовать новое мусорное ведро функция, чтобы получить двойное представление числа:
Версия развития документации: [What' s Новый у Питона 2.6] (http://docs.python.org/dev/whatsnew/2.6.html#pep-3127-integer-literal-support-and-syntax)
Другой способ.
They' ре не " binary" опечатки, а скорее, " целое число literals". Вы можете выразить опечатки целого числа двоичным форматом с '0' сопровождаемых 'B' или 'b', сопровождаемым серией нолей и, например:
От Пайтона 3 доктора, это способы обеспечить опечатки целого числа в Пайтоне:
Другие способы выразить набор из двух предметов:
У Вас могут быть ноли и в объекте последовательности, которым можно управлять (хотя Вы должны, вероятно, просто сделать битовые операции на целом числе в большинстве случаев) - просто передают интервалу ряд нолей и и основы, которую Вы преобразовываете от (2):
У Вас могут произвольно быть '0b' или '0B' префикс:
Если Вы передадите его '0' как основа, это примет основу 10 если последовательность doesn' t определяют с префиксом:
Преобразование ## из интервала назад к человекочитаемому набору из двух предметов:
Вы можете передать целое число к мусорному ведру, чтобы видеть представление последовательности двойной опечатки:
И Вы можете объединить 'мусорное ведро' и 'интервал', чтобы пойти назад и вперед:
Вы можете использовать спецификацию формата также, если Вы хотите иметь минимальную ширину с предыдущими нолями:
0 в начале здесь определяет, что основа равняется 8 (не 10), который довольно легко видеть:
Если Вы don' t начинаются с 0, тогда питон предполагает, что число основное 10.
Насколько я могу судить, Python, вплоть до версии 2.5, поддерживает только шестнадцатеричные и восьмеричные литералы. Я нашел несколько обсуждений о добавлении двоичных в будущих версиях, но ничего определенного.
Я уверен, что это одна из тех вещей, которые должны быть изменены в Python 3.0, где, возможно, bin() будет сочетаться с hex() и oct().
EDIT: Ответ lbrandy' верен во всех случаях.