2010-03-24 9 views

risposta

40

Dal PHP 5.4+ il prefisso per numero binario è:

0b 


Per la versione ealier, non c'è tale prefisso. Invece, è possibile utilizzare 0x, per esadecimale.

Per ulteriori informazioni, vedere Integers section of the PHP manual.

Tuttavia, se è veramente necessario scrivere valori utilizzando binary prima di PHP 5.4, è possibile utilizzare la funzione bindec, che accetta una stringa contenente il binario e restituisce il valore corrispondente.

Ad esempio, il seguente porzione di codice:

echo bindec('10011'); 

si arriva:

19 

ma nota che non dovrebbe fare che troppo spesso: chiamare una funzione per fare che ogni volta lo script è eseguito è piuttosto negativo per le prestazioni ^^
Invece, è davvero una soluzione migliore per scrivere i valori utilizzando esadecimale, in cui ogni cifra codifica per 4 bit.

+0

Mi spiace sentirlo ... Ma tu sei il primo a dare una soluzione alternativa :) – user198729

+0

Brad Koch descrive come ci sia un prefisso con PHP 5.4 –

2

Da PHP 5.4+ esiste, infatti, un prefisso: 0b.

informazioni di corrente in PHP Docs:

binari letterali interi sono disponibili a partire da PHP 5.4.0.

Per utilizzare la notazione ottale, precedere il numero con 0 (zero). Per usare la notazione esadecimale, precedere il numero con 0x. Per usare la notazione binaria, precedere il numero con 0b.


24 marzo '10 a 11:31 (risposta originale):

Non credo che ci sia uno. Prefisso 0 se per ottale e 0x è per esadecimale.

Da PHP docs:

intero può essere specificato in decimale (base 10), esadecimale (base 16), o ottale (base 8) notazione, eventualmente preceduto da un segno (- o +).

Per utilizzare la notazione ottale, precedere il numero con 0 (zero). Per usare la notazione esadecimale, precedere il numero con 0x.

1

Verifica the manual: PHP supporta solo la notazione integer decimale, esadecimale e ottale, ma è possibile utilizzare bindec().

Inoltre, tenere presente che ogni cifra esadecimale rappresenta 4 bit, quindi è facile convertire tra notazione binaria ed esadecimale. Lo stesso vale per l'ottale, ma per varie ragioni è usato meno spesso nella pratica.

47

New in PHP 5.4 è il prefisso binario, 0b. Pensa alla portabilità quando lo usi però; dovrai essere in grado di garantire che il server esegua PHP 5.4+.

+4

L'unica risposta corretta al giorno d'oggi. – Gangnus

+0

La risposta accettata potrebbe essere corretta al momento della domanda, ma attualmente questa è la risposta corretta, solo un collegamento per supportare la risposta di Brad: http://php.net/manual/en/language.types.integer. php –

Problemi correlati