Comment trouver la puissance de 2 en php

zbt
Libérer: 2023-08-09 10:02:28
original
1317 Les gens l'ont consulté

Comment trouver la puissance de 2 en PHP : 1. Utilisez des opérations au niveau du bit pour déterminer s'il s'agit d'une puissance de 2. Utilisez l'opérateur bit & pour vérifier si un seul bit dans la représentation binaire du nombre est 1. Si c'est le cas est une puissance de 2, alors un seul bit dans la représentation binaire est 1 et les autres bits sont 0, affichez simplement le résultat 2. Utilisez des fonctions mathématiques pour déterminer si un nombre est une puissance de 2, utilisez la fonction log2. , si un nombre est une puissance de 2, alors son logarithme en base 2 doit être un entier, renvoyer 0 et afficher simplement le résultat.

Comment trouver la puissance de 2 en php

L'environnement d'exploitation de ce tutoriel : système Windows 10, version php8.1.3, ordinateur DELL G3.

En PHP, vous pouvez utiliser des opérateurs au niveau du bit et des fonctions mathématiques pour déterminer si un nombre est une puissance de 2. Voici la méthode utilisant des opérateurs au niveau du bit :

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";
Copier après la connexion

Résultat de sortie :

4是2的幂次方吗? 是
8是2的幂次方吗? 是
6是2的幂次方吗? 不是
Copier après la connexion
Copier après la connexion

En plus d'utiliser des opérateurs au niveau du bit, vous pouvez également utiliser des fonctions mathématiques pour déterminer si un nombre est une puissance de 2. Voici comment utiliser la fonction log2 :

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";
Copier après la connexion

Le résultat de sortie est le même, qui est également :

4是2的幂次方吗? 是
8是2的幂次方吗? 是
6是2的幂次方吗? 不是
Copier après la connexion
Copier après la connexion

Avec les deux méthodes ci-dessus, vous pouvez utiliser le langage de programmation PHP pour déterminer si un nombre est une puissance de 2. Vous pouvez choisir la méthode appropriée pour y parvenir en fonction de vos besoins spécifiques. Quelle que soit la méthode que vous choisissez, elle peut vous aider à déterminer rapidement si un nombre est une puissance de 2. .

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!