Position actuelle: Accueil> Derniers articles> Les zéros principaux affecteront-ils le résultat lors de l'utilisation de la fonction bindec ()? Avez-vous besoin de le retirer manuellement?

Les zéros principaux affecteront-ils le résultat lors de l'utilisation de la fonction bindec ()? Avez-vous besoin de le retirer manuellement?

M66 2025-06-23

1. Utilisation de base de Bindec ()

Bindec () de PHP accepte un paramètre de type chaîne, qui doit être dans un format binaire valide, c'est-à-dire que seuls les caractères 0 et 1 sont inclus. Les exemples sont les suivants:

 <?php
echo bindec("1011"); // Sortir 11
?>

Dans cet exemple, "1011" est une représentation binaire standard, et le résultat est 11 en décimal.


2. Les chaînes binaires avec des zéros de premier plan affecteront-elles le résultat?

La réponse est: elle n'affectera pas .

Bindec () ignore le 0 leader et calcule le poids de chaque bit normalement de droite à gauche. Par exemple:

 <?php
echo bindec("0001011"); // 依旧Sortir 11
?>

Même si vous transmettez "0001011" , PHP analyse toujours "1011" et le résultat final ne changera pas.

Cela signifie que lorsque vous utilisez Bindec () , vous n'avez pas besoin d'écrire de code spécifiquement pour nettoyer les zéros leader.


3. Exemple: Obtenez une chaîne binaire avec des zéros principaux à partir des paramètres URL

Supposons que vous construisez un système qui extrait les numéros décimaux des données binaires soumises par l'utilisateur. L'URL peut être la suivante:

 https://m66.net/convert.php?bin=00011001

Vous pouvez le gérer comme ceci:

 <?php
$binary = $_GET['bin'] ?? '0';
$decimal = bindec($binary);
echo "Le résultat décimal est: $decimal";
?>

Même si l'utilisateur soumet "00011001" , la sortie est toujours correcte en décimal 25 . Aucune opération LTRIM ($ binaire, «0») n'est requise.


4. Description des circonstances spéciales

Bien que Bindec () ne soit pas sensible aux zéros de premier plan, il y a quelques choses auxquelles vous devez faire attention:

  • Assurez-vous que la chaîne passée ne contient que 0 et 1 . D'autres caractères peuvent entraîner des erreurs de calcul ou une sortie pour ne pas répondre aux attentes.

  • Si l'utilisateur entre une chaîne vide ( "" ), Bindec () renvoie 0 . Vous pouvez avoir besoin de vérification des entrées supplémentaires pour empêcher cela.