将数字四舍五入到JavaScript中最接近的幂
我们需要编写一个JavaScript函数,该函数接受一个数字并返回一个数字,该数字可以表示为最接近输入数字的2的幂。
例如:如果输入数字为145。
然后输出应该是128,因为145是最接近于128的数字,对于n的某个整数值,它可以表示为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