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.
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";
Ausgabeergebnis:
4是2的幂次方吗? 是 8是2的幂次方吗? 是 6是2的幂次方吗? 不是
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";
Das Ausgabeergebnis ist das gleiche, nämlich auch:
4是2的幂次方吗? 是 8是2的幂次方吗? 是 6是2的幂次方吗? 不是
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!