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.
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.
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.
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.