Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1613 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [résolu]entier non signé en signé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu]entier non signé en signé

n°396418
deff
Monde de merde
Posté le 16-05-2003 à 09:49:40  profilanswer
 

Bonjour, voila g une valeur hexa 0xXXXX donc en 16bits, et je voudrais la convertir en entier signé (plage -32768 + 32767) .
merci pour vos réponses.


Message édité par deff le 16-05-2003 à 10:26:53

---------------
-->>C'est l'histoire d'un gars qui rêve qu'il mange de la guimauve.Il se réveille et il a plus d'oreiller.<<--
mood
Publicité
Posté le 16-05-2003 à 09:49:40  profilanswer
 

n°396483
deff
Monde de merde
Posté le 16-05-2003 à 10:26:25  profilanswer
 

c bon g trouvé.
pour ceux que ça intéresse
 

Code :
  1. function Dec2Bin($number) {
  2.        while ($number >= 256) {
  3.        $bytes[] = (($number / 256) - (floor($number / 256))) * 256;
  4.        $number = floor($number / 256);
  5.        }
  6.        $bytes[] = $number;
  7.        for ($i=0;$i<count($bytes);$i++) {
  8.        $binstring = (($i == count($bytes) - 1) ? decbin($bytes[$i]) : str_pad(decbin($bytes[$i]), 8, "0", STR_PAD_LEFT)).$binstring;
  9.        }
  10.        $longueur=strlen($binstring);
  11.        for ($i=0;$i<(16-$longueur);$i++){
  12.            $binstring="0".$binstring ;
  13.        }
  14.        return $binstring;
  15.        }
  16.      
  17.     function Dec2Hex($decimal){
  18.       $hexa=DecHex($decimal);
  19.       $longueur=strlen($hexa);
  20.       for ($i=0;$i<(4-$longueur);$i++){
  21.            $hexa="0".$hexa ;
  22.       }
  23.       $hexa="0x".$hexa ;
  24.       return $hexa;
  25.     }
  26.    
  27.     function NonSign2Sign($decnonsign){
  28.          $binstring=$this->Dec2Bin($decnonsign);
  29.          $signe=substr($binstring,0,1);
  30.          if ($signe==0){
  31.               $decimal=$decnonsign;
  32.          }
  33.          else {
  34.              $valeur=substr($binstring,1,16);
  35.              $valeur=32768-bindec($valeur);
  36.              $decimal=$valeur*-1;
  37.          }
  38.          return $decimal;
  39.     }


---------------
-->>C'est l'histoire d'un gars qui rêve qu'il mange de la guimauve.Il se réveille et il a plus d'oreiller.<<--

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [résolu]entier non signé en signé

 

Sujets relatifs
Comment charger une page php après un IF ? [RESOLU][Php, mysql] [résolu] Récupérer la valeur de max_allowed_packet ?
[RESOLU][JBDC][MYSQL] un petit pb d'accent?[MFC] [resolu] virer la toolbar
Convertir une chaine char* en hexa en entier [Résolu][javascript] Changer un attribut d'un css sur une autre frame? RESOLU
[MFC] Utiliser les SpinButtonCtrl [résolu, solution inside]compresser un dump sql a la sortie de mysqldump avec un pipe [résolu]
chaine d'entier "csv-style" -> int[] 
Plus de sujets relatifs à : [résolu]entier non signé en signé


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR