숫자를 받아서 입력 숫자에 가장 가까운 2의 거듭제곱으로 나타낼 수 있는 숫자를 반환하는 JavaScript 함수를 작성해야 합니다.
예:145인 경우 숫자를 입력합니다.
그러면 145가 128에 가장 가까운 숫자이기 때문에 출력은 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