Что такое префикс для двоичного кода в PHP?

Это не 0x и 0 ; что это? Здесь?

Начиная с PHP 5.4+ префикс для двоичного числа:

 0b 


Для версии ealier такого префикса нет. Вместо этого вы можете использовать 0x , для шестнадцатеричных.

Дополнительные сведения см. В разделе « Целые» руководства по PHP .

Тем не менее, если вам действительно нужно писать значения с использованием двоичного кода перед PHP 5.4, вы можете использовать функцию bindec , которая берет строку, содержащую двоичный код, и возвращает соответствующее значение.

Например, следующая часть кода:

 echo bindec('10011'); 

Вы получите:

 19 

Но обратите внимание, что вы не должны делать это слишком часто: вызов функции для выполнения этого каждый раз, когда скрипт выполняется, довольно плох для выступлений ^^
Вместо этого, это действительно лучшее решение для записи ваших значений с использованием шестнадцатеричного кода, где каждая цифра кодирует 4 бита.

Новое в PHP 5.4 является бинарным префиксом, 0b . Подумайте о переносимости при ее использовании; вы должны быть в состоянии гарантировать, что сервер работает с PHP 5.4+.

Из PHP 5.4+ есть, по сути, префикс: 0b .

Текущая информация в PHP Docs :

Бинарные целые литералы доступны с PHP 5.4.0.

Чтобы использовать восьмеричную нотацию, перед номером следует указать 0 (ноль). Для использования шестнадцатеричной нотации предшествует номер с 0x. Для использования двоичной нотации предшествует номер с 0b.


Мар 24 '10 в 11:31 (оригинальный ответ):

Я не думаю, что он есть. Префикс 0 если для восьмеричного и 0x для шестнадцатеричного.

Из документов PHP :

Целое число может быть указано в десятичной (базовая 10), шестнадцатеричной (базовая 16) или восьмеричной (базовая 8) нотации, необязательно предшествующей знаку (- или +).

Чтобы использовать восьмеричную нотацию, перед номером следует указать 0 (ноль). Для использования шестнадцатеричной нотации предшествует номер с 0x.

Проверьте руководство : PHP поддерживает только десятичное, шестнадцатеричное и восьмеричное целочисленное обозначение, но вместо этого вы можете использовать bindec () .

Кроме того, имейте в виду, что каждая шестнадцатеричная цифра представляет собой 4 бита, поэтому легко преобразовать между двоичной нотой и шестнадцатеричным. То же самое верно для восьмеричных, но по разным причинам он используется реже на практике.