Это ни 0x
, ни 0
; что это? Есть?
Какой префикс для двоичного кода в PHP?
Ответ 1
Начиная с PHP 5.4+ префикс для двоичного номера:
0b
<ч/" > Для версии ealier такого префикса нет. Вместо этого вы можете использовать 0x
для шестнадцатеричного.
Дополнительные сведения см. в разделе Цепочки руководства PHP.
Тем не менее, если вам действительно нужно писать значения, используя двоичный код перед PHP 5.4, вы можете использовать функцию bindec
, которая берет строку содержащий двоичный файл, и возвращает соответствующее значение.
Например, следующая часть кода:
echo bindec('10011');
Вы получите:
19
Но обратите внимание, что вы не должны делать это слишком часто: вызов функции для выполнения этого каждый раз, когда выполняется script, очень плохо для исполнения ^^
Вместо этого это действительно лучшее решение для записи ваших значений с использованием шестнадцатеричного кода, где каждая цифра кодирует 4 бита.
Ответ 2
Новый в PHP 5.4 является двоичным префиксом 0b
. Подумайте о переносимости при ее использовании; вы должны будете иметь возможность гарантировать, что сервер выполняет PHP 5.4 +.
Ответ 3
Из PHP 5.4+ есть, по сути, префикс: 0b
.
Текущая информация в Документы PHP:
Двоичные целочисленные литералы доступны с PHP 5.4.0.
Чтобы использовать восьмеричную нотацию, перед номером следует указать 0 (ноль). Для использования шестнадцатеричной нотации предшествует номер с 0x. Для использования двоичной нотации предшествует номер с 0b.
Мар 24 '10 в 11:31 (оригинальный ответ):
Я не думаю, что он есть. Префикс 0
, если для восьмеричного и 0x
для шестнадцатеричного.
От Документы PHP:
Целое число может быть указано в десятичной (базовая 10), шестнадцатеричной (базовая 16) или восьмеричной (базовая 8) нотации, необязательно предшествующей знаку (- или +).
Чтобы использовать восьмеричную нотацию, перед номером следует указать 0 (ноль). Для использования шестнадцатеричной нотации предшествует номер с 0x.
Ответ 4
Отметьте руководство: PHP поддерживает только десятичное, шестнадцатеричное и восьмеричное целочисленное обозначение, но вы можете использовать bindec() вместо этого.
Кроме того, имейте в виду, что каждая шестнадцатеричная цифра представляет 4 бита, поэтому легко конвертировать между двоичной нотой и шестнадцатеричным. То же самое верно для восьмеричных, но по разным причинам он используется реже на практике.