Quel est le préfixe pour binaire en PHP?

Ce n'est ni 0x Ni 0; qu'est-ce que c'est? Est-il?

29
demandé sur Brad Koch 2010-03-24 14:29:59

4 réponses

À partir de PHP 5.4 + le préfixe pour le nombre binaire est:

0b


Pour la version ealier, il n'y a pas un tel préfixe. Au lieu de cela, vous pouvez utiliser 0x, pour hexadécimal.

Pour plus d'informations, voir le section entiers du manuel PHP.

Pourtant, si vous avez vraiment besoin d'écrire des valeurs en utilisant binaire avant PHP 5.4, vous pouvez utiliser le bindec fonction, qui prend une chaîne contenant le binaire, et renvoie la valeur correspondante.

Pour exemple, la partie suivante du code:

echo bindec('10011');

, vous obtiendrez :

19

Mais notez que vous ne devriez pas le faire trop souvent: appeler une fonction pour le faire chaque fois que le script est exécuté est assez mauvais pour les performances ^^
au lieu de cela, c'est vraiment une meilleure solution pour écrire vos valeurs en utilisant hexadécimal, où chaque chiffre Code pour 4 bits.

42
répondu Pascal MARTIN 2016-01-29 09:49:37

Nouveau en PHP 5.4 " est le préfixe binaire, 0b. Pensez à la portabilité lorsque vous l'utilisez cependant; vous devrez être en mesure de garantir que le serveur exécute PHP 5.4+.

47
répondu Brad Koch 2011-11-15 19:24:06

De PHP 5.4+ il y a, en fait, un préfixe: 0b.

Informations actuelles dans Docs PHP :

Les littéraux entiers binaires sont disponibles depuis PHP 5.4.0.

Pour utiliser la notation octale, précéder le nombre d'un 0 (zéro). Pour utiliser la notation hexadécimale, précéder le nombre de 0x. pour utiliser la notation binaire, précéder le nombre de 0b.


Mar 24 ' 10 à 11: 31 (réponse originale):

Je ne pense pas qu'il y en ait un. Préfixe 0 si pour octal et {[2] } est pour hexadécimal.

À partir de docs PHP :

Entier peut être spécifié en notation décimale (base 10), hexadécimale (base 16) ou octale (base 8), éventuellement précédée d'un signe (- ou+).

Pour utiliser la notation octale, précéder le nombre d'un 0 (zéro). Pour utiliser la notation hexadécimale, précédez le nombre de 0x.

2
répondu codaddict 2014-07-25 00:13:07

Vérifiez le manuel : PHP ne supporte que la notation décimale, hexadécimale et octale, mais vous pouvez utiliser bindec() à la place.

Aussi, gardez à l'esprit que chaque chiffre hexadécimal représente 4 bits, il est donc facile pour convertir entre notation binaire et hexadécimal. La même chose est vraie pour octal, mais pour diverses raisons, il est utilisé moins souvent dans la pratique.

1
répondu Christoph 2010-03-24 11:33:18