Maison >développement back-end >tutoriel php >Programme PHP pour la conversion binaire à décimal
La conversion binaire à décimale fait référence au processus de conversion d'un nombre binaire (c'est-à-dire un nombre représenté par seulement deux chiffres 0 et 1) en son nombre décimal équivalent (c'est-à-dire sous la forme de 10 comme base).
Cet article expliquera comment convertir la forme binaire d'un nombre en une forme décimale en PHP en utilisant différentes méthodes.
Les nombres binaires ( binaires ) ne sont composés que de 0 et 1 chiffres utilisés par les machines, et les nombres décimaux sont des nombres décimaux utilisés par les humains. Pour convertir un numéro binaire en un nombre décimal, multipliez chaque numéro binaire par sa puissance de position (à partir de 0 à droite) et ajoutez tous les résultats.
Exemple 12 ) (0 × 2 1 ) (1 × 2 0 ) = 4 0 1 = 5
Exemple 23 ) (1 × 2 2 ) (1 × 2 1 ) (1 × 2 0 ) = 8 4 2 1 = 15
Exemple 3Les éléments suivants sont des façons différentes d'effectuer une conversion binaire à décimale en php:
Conversion binaire à décimal à l'aide de fonctions intégrées
bindec () , qui peut être utilisée directement pour convertir les nombres binaires en nombres décimaux.
étapes d'implémentation<code class="language-php"><?php $binary = "101"; // 使用 bindec() 将二进制转换为十进制 $decimal = bindec($binary); echo "二进制数 '$binary' 的十进制等效值为:$decimal"; ?></code>sortie
<code>二进制数 '101' 的十进制等效值为:5</code>
Complexité temporelle: o (1) Complexité de l'espace: o (1)
Conversion binaire à décimal à l'aide de boucles<code class="language-php"><?php $binary = "101"; // 使用 bindec() 将二进制转换为十进制 $decimal = bindec($binary); echo "二进制数 '$binary' 的十进制等效值为:$decimal"; ?></code>
<code>二进制数 '101' 的十进制等效值为:5</code>
Complexité temporelle: o (n) Complexité de l'espace: o (1)
Dans cette méthode, nous utilisons directement les opérateurs de bits pris en charge par PHP pour faire fonctionner les bits. Dans cette approche, nous utilisons le déplacement pour calculer l'équivalent décimal.
<code class="language-php"><?php $binary = "101"; $decimal = 0; $length = strlen($binary); // 循环遍历二进制数中的每个数字 for ($i = 0; $i < $length; $i++) { // 将二进制数字乘以 2^(从右起的位置) $decimal += $binary[$length - $i - 1] * pow(2, $i); } // 输出十进制等效值 echo "二进制数 '$binary' 的十进制等效值为:$decimal"; ?></code>
<code>二进制数 '101' 的十进制等效值为:5</code>
Complexité temporelle: o (n) Complexité de l'espace: o (1)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!