Dans PHP, le traitement des données binaires et la conversion en décimal sont une exigence commune, en particulier dans le traitement des données sous-jacentes et la programmation réseau. Cet article introduira comment combiner la fonction Bindec () et la fonction sprintf () pour implémenter la conversion des chaînes binaires en nombres décimaux et formater les résultats de sortie.
Bindec () est une fonction intégrée PHP qui convertit les chaînes binaires en nombres décimaux correspondants. Sa syntaxe est simple:
int bindec ( string $binary_string )
Par exemple:
$binary = "1101"; // Corde binaire
$decimal = bindec($binary);
echo $decimal; // Sortir13
BINSEC () accepte uniquement les chaînes composées de 0 et 1 , sinon il renverra 0.
sprintf () est utilisé pour formater la sortie de chaîne. Il peut formater des données dans un format spécifié, tel que la largeur d'un nombre spécifié, des caractères de rembourrage, des chiffres décimaux, etc. Son utilisation typique est:
string sprintf ( string $format [, mixed $args [, mixed $... ]] )
Exemple:
$num = 42;
echo sprintf("%05d", $num); // Sortir "00042",utiliser0Remplir à la largeur5
Supposons qu'il y ait une chaîne binaire, nous devons le convertir en décimal d'abord, puis le formater en nombre à largeur fixe, et même ajouter un millième séparateur.
$binary = "101101"; // Corde binaire
// Convertir en décimal d'abord
$decimal = bindec($binary);
// 使utiliser sprintf format,假设Sortir宽度为6,Zéro avant
$formatted = sprintf("%06d", $decimal);
echo $formatted; // Sortir "000045"
Si vous souhaitez séparer des milliers de chiffres avec des virgules, vous pouvez combiner numéro_format () :
$binary = "111111111"; // 9autonome1,La décimale est511
$decimal = bindec($binary);
$formatted = number_format($decimal);
echo $formatted; // Sortir "511"
Supposons qu'il y ait une URL qui passe dans le bac des paramètres binaires, nous voulons retirer et formater la sortie:
// ExempleURL:http://m66.net/example.php?bin=10110
$binary = $_GET['bin'] ?? '0';
$decimal = bindec($binary);
$formatted = sprintf("%08d", $decimal);
echo "Binaire: $binary<br>";
echo "format后的十进制: $formatted";
Ici, convertissez la chaîne binaire en décimal et formatez-la en un numéro à 8 chiffres, avec des zéros ajoutés avant lui.
Bindec () est utilisé pour convertir le binaire en décimal.
Sprintf () peut formater la sortie numérique.
La combinaison des deux peut facilement convertir les données binaires et embellir la sortie.
Il peut également être utilisé avec numéro_format () pour atteindre un affichage numérique plus convivial.
Ceci est très utile pour gérer les données sous-jacentes, l'affichage du journal et la livraison des paramètres.