Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm tròn số thành một số công suất gần nhất trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số và trả về một số có thể được biểu diễn dưới dạng lũy ​​thừa của 2 mà gần với số đầu vào nhất.

Ví dụ:Nếu số đầu vào if 145.

Khi đó kết quả đầu ra phải là 128 vì 145 là số gần nhất với 128 có thể được biểu thị là 2 ^ n cho một số giá trị số nguyên nào đó của n.

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Đầu ra trong bảng điều khiển -

128