Heim > Backend-Entwicklung > PHP-Tutorial > So zählen Sie binäre Algorithmen in PHP

So zählen Sie binäre Algorithmen in PHP

php中世界最好的语言
Freigeben: 2023-03-23 14:56:02
Original
2021 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie man binäre Algorithmen in PHP zählt. Was sind die Vorsichtsmaßnahmen für PHP, um binäre Algorithmen zu zählen?

Wie implementiert man den Algorithmus zum Zählen der Zahl 1 im Binärformat in PHP? Dieser Artikel stellt Ihnen den Beispielcode von PHP vor, um den statistischen Algorithmus der Zahl 1 im Binärformat zu implementieren.

Frage

Geben Sie eine dezimale Ganzzahl ein und geben Sie die Anzahl der Einsen in der binären Darstellung dieser Zahl aus. Negative Zahlen werden im Zweierkomplement ausgedrückt.

Lösungsideen

Dies ist eine Frage zu Bitoperationen.
Lösung 1: Sie können die bitweise UND-Verknüpfung verwenden, um die Zahl 1 zu ermitteln, indem Sie jedes Bit und 1 UND-verknüpfen.
Lösung 2 (optimale Lösung): Eine clevere Methode, die nicht 0 ist, muss mindestens eine Ziffer haben, die 1 ist. Wenn diese Zahl um eins reduziert wird, wird ihre letzte Ziffer, 1, zu 0. Alle Nachfolgende Nullen werden in Einsen geändert. Beispielsweise wird 10100 nach der Subtraktion von eins zu 10011. Nach der UND-Verknüpfung der ursprünglichen Zahlen 10100 und 10011 erhalten Sie 10000. Das heißt, durch diese Operation können Sie eine 1 in eine 0 ändern, also wie oft kann eine Binärzahl geändert werden Anzahl tun dies? Es gibt so viele Operationen wie 1.

Implementierungscode

//解法一
function NumberOf1($n)
{
 $count = 0;
  $flag = 1;
  while ($flag != 0) {
   if (($n & $flag) != 0) {
    $count++;
   }
   $flag = $flag << 1;
  }
  return $count;
}
Nach dem Login kopieren
// 解法二
function NumberOf1($n)
{
 $count = 0;
 if($n < 0){ // 处理负数
   $n = $n&0x7FFFFFFF;
   ++$count;
 }
 while($n != 0){
  $count++;
  $n = $n & ($n-1);
 }
 return $count;
}
Nach dem Login kopieren
//测试
$num=45;
echo $num."的二进制是".decbin($num)."<br/>";
echo $num."共有".NumberOf1($num)."个1";
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben, bitte Achten Sie auf andere verwandte Themen im chinesischen PHP-Website-Artikel!

Empfohlene Lektüre:

Detaillierte Erläuterung der Verwendung von Callback-Funktionen in PHP

So verwenden Sie die Funktion file_put_contents in PHP

Das obige ist der detaillierte Inhalt vonSo zählen Sie binäre Algorithmen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage