Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 가장 가까운 거듭제곱으로 숫자 반올림

<시간/>

숫자를 받아서 입력 숫자에 가장 가까운 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