Fonction en php

Résolu/Fermé
jojojami Messages postés 28 Date d'inscription jeudi 20 septembre 2012 Statut Membre Dernière intervention 21 décembre 2013 - 18 avril 2013 à 10:20
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 18 avril 2013 à 10:28
bonjour , je voulais savoir s'il une fonction qui controle le nombre des bites d'une variable ; exemple , est ce que je peux ecrire le nombre '1' sur 4bites . merci d'avance
A voir également:

1 réponse

Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
Modifié par Mihawk le 18/04/2013 à 10:32
Salut,

Tu peux utiliser la conversion décimale -> binaire de la fonction decbin()
https://www.php.net/manual/fr/function.decbin.php

Une fois le nombre converti, il suffit que tu comptes le nombre de caractères de la chaines, et si c'est trop court tu rajoutes des 0 devant.

Exemple : tu veux le nombre 5 sur 4 bits. decbin(5) te renvoie "101" qui est sur trois bits. On fait alors une boucle pour compléter avec des 0 devant : "0101" pour 4 bits, "00000101" sur 8 bits, etc...

function convertInBinary($nombre, $nbDeBitsSouhaites){   
   $conversion = decbin($nombre);    
   
   if (strlen($conversion) > $nbDeBitsSouhaites){
      echo ("Conversion impossible : nombre de bits insuffisant.");
      return;
   }

   if (strlen($conversion) < $nbDeBitsSouhaites){    
      for ($i=strlen($conversion) ; $i<$nbDeBitsSouhaites ; $i++){    
         $conversion = "0".$conversion    
      }    
   }    

   return $conversion;    
}   

echo (convertInBinary(5, 4)); // Retourne "0101"   


Amicalement,
Pierre.
1