Cette fois, je vais vous montrer comment compter les algorithmes binaires en PHP. Quelles sont les précautions pour que PHP compte les algorithmes binaires. Voici des cas pratiques, jetons un oeil.
Comment implémenter l'algorithme de comptage du nombre 1 en binaire en PHP ? Cet article vous présente l'exemple de code PHP pour implémenter l'algorithme statistique du nombre 1 en binaire Venez jeter un œil.
Question
Saisissez un nombre décimal entier et affichez le nombre de 1 dans la représentation binaire de ce nombre. Les nombres négatifs sont exprimés en complément à deux.
Idées de solutions
Il s'agit d'une question sur les opérations sur les bits.
Solution 1 : Vous pouvez utiliser l'opération ET au niveau du bit pour trouver le nombre de 1 en exécutant l'opération AND sur chaque bit avec 1.
Solution 2 (solution optimale) : Une méthode astucieuse. Un nombre binaire qui n'est pas 0 doit avoir au moins un chiffre qui vaut 1. Lorsque ce nombre est réduit de un, son dernier chiffre, 1, deviendra 0. Tous les 0 suivants seront remplacés par des 1. Par exemple, 10100 deviendra 10011 après en avoir soustrait un. Ensuite, après avoir combiné les nombres d'origine 10100 et 10011, vous obtiendrez 10000. Autrement dit, grâce à cette opération, vous pouvez changer un 1 en un 0, donc combien de fois un binaire peut-il le faire. numéro faire ça ? Il y a autant d'opérations que 1.
Code d'implémentation
//解法一 function NumberOf1($n) { $count = 0; $flag = 1; while ($flag != 0) { if (($n & $flag) != 0) { $count++; } $flag = $flag << 1; } return $count; }
// 解法二 function NumberOf1($n) { $count = 0; if($n < 0){ // 处理负数 $n = $n&0x7FFFFFFF; ++$count; } while($n != 0){ $count++; $n = $n & ($n-1); } return $count; }
//测试 $num=45; echo $num."的二进制是".decbin($num)."<br/>"; echo $num."共有".NumberOf1($num)."个1";
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez. faites attention aux autres sujets connexes dans l'article du site Web chinois php !
Lecture recommandée :
Explication détaillée de l'utilisation des fonctions de rappel en PHP
Comment utiliser la fonction file_put_contents dans PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!