在 JavaScript 中将数字舍入到某个最接近的幂


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

例如:如果输入数为 145。

那么输出应该为 128,因为对于某个 n 的整数值,145 是最接近 128 的此类数字,且可以表示为 2^n。

范例

以下将为此代码 −

const num = 145;
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));

输出

控制台中输出 −

128

更新日期:2020-10-17

120 次浏览

开启你的 职业生涯

通过完成该课程接受认证

开始
广告