在 JavaScript 中检查 2 的幂

javascriptweb developmentobject oriented programming更新于 2025/10/12 19:24:17

我们需要编写一个函数,例如 isPowerOfTwo(),它接受一个正数并根据该数字是否为 2 的某个幂返回一个布尔值。

例如 −

console.log(isPowerOfTwo(3)); //false
console.log(isPowerOfTwo(32)); //true
console.log(isPowerOfTwo(2048)); //true
console.log(isPowerOfTwo(256)); //true
console.log(isPowerOfTwo(22)); //false

让我们来编写此函数的代码,它将是一个非常简单的递归函数,它会不断循环直到数字可以被 2 整除,如果在此过程中数字一直减小到 1,则它就是 2 的幂,否则它就不是。以下是代码 −

示例

const isPowerOfTwo = num => {
   if(num === 1){
      return true;
   };
   if(num % 2 !== 0){
      return false;
   }
   return isPowerOfTwo(num / 2);
}
console.log(isPowerOfTwo(3));
console.log(isPowerOfTwo(32));
console.log(isPowerOfTwo(2048));
console.log(isPowerOfTwo(256));
console.log(isPowerOfTwo(22));

输出

控制台中的输出将是 −

false
true
true
true
false

相关文章


有用资源