数字的最近的二的幂次——JavaScript


我们需要编写一个 JavaScript 函数,其接收一个数字并返回一个可表示为二的幂次的数字,该数字最接近输入数字。

例如,

如果输入数字为 365,则输出应为 256,因为 256 是最接近 365 的数字,可表示为 2^n,其中 n 为某个整数的值。

实例

让我们编写此代码函数,

const num = 365;
const nearestPowerOfTwo = num => {
   // dealing only with non-negative numbers
   if(num < 0){
      num *= -1;
   }
   let base = 1;
   while(base < num){
      if(num - base < Math.floor(base / 2)){
         return base;
      };
      base *= 2;
   };
   return base;
};
console.log(nearestPowerOfTwo(num));

输出

控制台中的输出:-

256

更新于:2020-09-15

782 次浏览

开启您的职业

完成课程获得认证

开始
广告