Position actuelle: Accueil> Derniers articles> Quelles sont les conversions binaires prises en charge par la fonction Base_Convert dans PHP? Le tutoriel le plus complet sur l'utilisation

Quelles sont les conversions binaires prises en charge par la fonction Base_Convert dans PHP? Le tutoriel le plus complet sur l'utilisation

gitbox 2025-07-09

Quelle est la fonction base_convert () ?

La fonction Base_Convert () est utilisée pour convertir entre différents chiffres numériques. Il peut convertir un nombre d'un chiffre (comme binaire, décimal, etc.) à un autre. La syntaxe de cette fonction est la suivante:

 <span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$number</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$frombase</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$tobase</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>

Description du paramètre:

  • Numéro de $ : le numéro à convertir, passé sous forme de chaîne.

  • $ NUBASE : Le numéro actuel est divisé en 2 à 36.

  • $ TOBASE : Target Binary, la plage est également de 2 à 36.

Valeur de retour:

Renvoie le numéro converti en tant que chaîne. Si l'entrée n'est pas valide ou si le paramètre est incorrect, false est renvoyé.


Plages binaires soutenues

La fonction Base_Convert () prend en charge une plage binaire de 2 à 36. Cela signifie que vous pouvez convertir entre les divisions suivantes:

  • Binaire (base 2) : ne contient que 0 et 1 , qui est souvent utilisé pour stocker des données dans les ordinateurs.

  • Octal (base 8) : se compose de nombres de 0 à 7.

  • Décimal (base 10) : le système numérique que nous utilisons tous les jours, contenant des nombres de 0 à 9.

  • HexaDecimal (base 16) : contient 0 à 9 et A à F, utilisé pour représenter les données dans un ordinateur, et est largement utilisé dans les adresses mémoire et autres aspects.

  • Palance supérieure (base 17 à la base 36) : dépasse la décimale commune, le binaire, etc., mais dans certaines applications spéciales, il a toujours sa valeur unique.

Par exemple, la représentation de lettre d'un nombre (en hexadécimal et ci-dessus) est représentée par A à Z , où a = 10, b = 11, ..., z = 35.


Exemple d'utilisation

1. Du binaire à décimal

Supposons que vous ayez un numéro binaire 1011 et que vous souhaitez le convertir en décimal:

 <span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-string">"1011"</span></span><span>;
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$binary</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decimal</span></span><span>;  </span><span><span class="hljs-comment">// Sortir:11</span></span><span>
</span></span>

Dans cet exemple, le numéro binaire 1011 est converti au numéro décimal 11 .

2. De décimal à hexadécimal

Vous pouvez rencontrer des situations où vous devez convertir les nombres décimaux en hexadécimal. Par exemple, convertissez le numéro 255 en hexadécimal:

 <span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-string">"255"</span></span><span>;
</span><span><span class="hljs-variable">$hexadecimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">16</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$hexadecimal</span></span><span>;  </span><span><span class="hljs-comment">// Sortir:FF</span></span><span>
</span></span>

Ici, la décimale 255 est convertie en FF hexadécimal.

3. De l'hexadécimal à l'octal

Vous pouvez convertir les numéros hexadécimaux en octal. Par exemple, convertir 1f (hexadécimal) en octal:

 <span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-string">"1F"</span></span><span>;
</span><span><span class="hljs-variable">$octal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$hex</span></span><span>, </span><span><span class="hljs-number">16</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$octal</span></span><span>;  </span><span><span class="hljs-comment">// Sortir:37</span></span><span>
</span></span>

Hexadecimal 1F est converti en octal 37 .

4. De décimal à d'autres binaires (par ex. Base 35)

PHP's Base_Convert () vous permet également d'utiliser un binaire supérieur à l'hexadécimal. Par exemple, convertissez le numéro décimal 100 en base 35:

 <span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-string">"100"</span></span><span>;
</span><span><span class="hljs-variable">$base35</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">35</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$base35</span></span><span>;  </span><span><span class="hljs-comment">// Sortir:2S</span></span><span>
</span></span>

Dans la base 35, le nombre 100 correspond à 2s .


Choses à noter

  1. Limite de plage : la plage binaire prise en charge de la fonction base_convert () est de 2 à 36. La dépassement de cette plage entraînera des erreurs.

  2. Type de paramètre : le paramètre Nombre $ est un type de chaîne. Même si l'entrée est un nombre, elle doit être convertie en type de chaîne et transmise.

  3. Cas : Dans la conversion binaire, le PHP n'est pas sensible aux lettres. Par exemple, les résultats de Base_Convert ("10", 10, 16) et Base_Convert ("10", 10, 16) sont les mêmes. Le résultat retourné sera affiché dans des lettres majuscules, mais si l'entrée est des lettres minuscules, elle sera automatiquement convertie.