2010-03-24 11 views

Respuesta

40

A partir de PHP 5.4+ el prefijo para el número binario es:

0b 


Para la versión ealier, no hay tal prefijo. En su lugar, puede usar 0x, para hexadecimal.

Para obtener más información, consulte el Integers section of the PHP manual.

Aún así, si realmente necesita escribir valores utilizando binarios antes de PHP 5.4, puede usar la función bindec, que toma una cadena que contiene el binario y devuelve el valor correspondiente.

Por ejemplo, la porción de código siguiente:

echo bindec('10011'); 

Le conseguirá:

19 

pero tenga en cuenta que no debe hacer que con demasiada frecuencia: llamar a una función de hacer que cada vez la secuencia de comandos se ejecuta es bastante malo para las actuaciones ^^
En su lugar, es realmente una mejor solución para escribir sus valores utilizando hexadecimal, donde cada dígito codifica para 4 bits.

+0

Lamento escuchar eso ... Pero usted es el primero en dar una solución alternativa :) – user198729

+0

Brad Koch describe cómo hay un prefijo con PHP 5.4 –

2

De PHP 5.4+ hay, de hecho, un prefijo: 0b.

información actual en PHP Docs:

literales enteros binarios están disponibles a partir de PHP 5.4.0.

Para usar la notación octal, anteceda el número con un 0 (cero). Para usar la notación hexadecimal precede el número con 0x. Para usar la notación binaria precede el número con 0b.


Mar 24 de '10 a las 11:31 (respuesta original):

No creo que hay uno. Prefijo 0 si para octal y 0x es para hexadecimal.

De PHP docs:

entero se puede especificar en decimal (base 10), hexadecimal (base 16), o octal (base 8), opcionalmente precedidos por un signo (- o +).

Para usar la notación octal, anteceda el número con un 0 (cero). Para usar la notación hexadecimal precede el número con 0x.

1

Verificar the manual: PHP solo admite notación decimal, hexadecimal y octal entera, pero puede usar bindec() en su lugar.

Además, tenga en cuenta que cada dígito hexadecimal representa 4 bits, por lo que es fácil convertir entre notación binaria y hexadecimal. Lo mismo es cierto para octal, pero por diversas razones se usa con menos frecuencia en la práctica.

47

New in PHP 5.4 es el prefijo binario, 0b. Sin embargo, piense en la portabilidad cuando lo usa; deberás poder garantizar que el servidor ejecuta PHP 5.4+.

+4

La única respuesta correcta hoy en día. – Gangnus

+0

La respuesta aceptada podría ser la correcta en el momento en que se produjo la pregunta, pero actualmente esta es la respuesta correcta, solo un enlace para apoyar la respuesta de Brads: http://php.net/manual/en/language.types.integer. php –

Cuestiones relacionadas