Fonction en php

Résolu
jojojami Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
Mihawk Messages postés 4753 Statut Contributeur -
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

1 réponse

  1. Mihawk Messages postés 4753 Statut Contributeur 846
     
    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