So finden Sie die Potenz von 2 in PHP

zbt
Freigeben: 2023-08-09 10:02:28
Original
1318 Leute haben es durchsucht

So finden Sie die Potenz von 2 in PHP: 1. Verwenden Sie bitweise Operationen, um zu bestimmen, ob es sich um eine Potenz von 2 handelt. Verwenden Sie den Bitoperator &, um zu prüfen, ob nur ein Bit in der binären Darstellung der Zahl 1 ist. Wenn ja ist eine Potenz von 2, dann ist nur ein Bit in der Binärdarstellung 1 und die anderen Bits sind 0, geben Sie einfach das Ergebnis 2 aus. Verwenden Sie mathematische Funktionen, um zu bestimmen, ob eine Zahl eine Potenz von 2 ist, verwenden Sie die Funktion log2 Wenn eine Zahl eine Potenz von 2 ist, muss ihr Logarithmus zur Basis 2 eine ganze Zahl sein, 0 zurückgeben und einfach das Ergebnis ausgeben.

So finden Sie die Potenz von 2 in PHP

Die Betriebsumgebung dieses Tutorials: Windows 10-System, PHP8.1.3-Version, DELL G3-Computer.

In PHP können Sie bitweise Operatoren und mathematische Funktionen verwenden, um zu bestimmen, ob eine Zahl eine Potenz von 2 ist. Das Folgende ist die Methode mit bitweisen Operatoren:

function isPowerOfTwo($num) {
// 位运算判断是否为2的幂次方
// 使用位运算符 & 检查数字的二进制表示中是否只有一位是1
// 如果是2的幂次方,那么二进制表示中只有一位是1,其他位都是0
// 例如:4的二进制表示是100,8的二进制表示是1000
return ($num & ($num - 1)) == 0;
}
// 测试例子
$num1 = 4; // 4的二进制表示是100,是2的幂次方
$num2 = 8; // 8的二进制表示是1000,是2的幂次方
$num3 = 6; // 6的二进制表示是110,不是2的幂次方
// 调用函数判断是否是2的幂次方
echo $num1 . "是2的幂次方吗? " . (isPowerOfTwo($num1) ? "是" : "不是") . "\n";
echo $num2 . "是2的幂次方吗? " . (isPowerOfTwo($num2) ? "是" : "不是") . "\n";
echo $num3 . "是2的幂次方吗? " . (isPowerOfTwo($num3) ? "是" : "不是") . "\n";
Nach dem Login kopieren

Ausgabeergebnis:

4是2的幂次方吗? 是
8是2的幂次方吗? 是
6是2的幂次方吗? 不是
Nach dem Login kopieren
Nach dem Login kopieren

Zusätzlich zur Verwendung bitweiser Operatoren können Sie auch mathematische Funktionen verwenden, um zu bestimmen, ob eine Zahl eine Potenz von 2 ist. So verwenden Sie die log2-Funktion:

function isPowerOfTwo($num) {
// 使用log2函数判断是否为2的幂次方
// 如果一个数是2的幂次方,那么它的以2为底的对数一定是整数
return (log($num, 2) % 1) == 0;
}
// 测试例子
$num1 = 4; // 4是2的幂次方
$num2 = 8; // 8是2的幂次方
$num3 = 6; // 6不是2的幂次方
// 调用函数判断是否是2的幂次方
echo $num1 . "是2的幂次方吗? " . (isPowerOfTwo($num1) ? "是" : "不是") . "\n";
echo $num2 . "是2的幂次方吗? " . (isPowerOfTwo($num2) ? "是" : "不是") . "\n";
echo $num3 . "是2的幂次方吗? " . (isPowerOfTwo($num3) ? "是" : "不是") . "\n";
Nach dem Login kopieren

Das Ausgabeergebnis ist das gleiche, nämlich auch:

4是2的幂次方吗? 是
8是2的幂次方吗? 是
6是2的幂次方吗? 不是
Nach dem Login kopieren
Nach dem Login kopieren

Mit den beiden oben genannten Methoden können Sie die Programmiersprache PHP verwenden, um zu bestimmen, ob eine Zahl eine Potenz von 2 ist. Sie können die geeignete Methode wählen, um dies basierend auf Ihren spezifischen Anforderungen zu erreichen. Egal für welche Methode Sie sich entscheiden, sie kann Ihnen dabei helfen, schnell festzustellen, ob eine Zahl eine Potenz von 2 ist .

Das obige ist der detaillierte Inhalt vonSo finden Sie die Potenz von 2 in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!