Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Làm tròn số đến lũy thừa gần nhất của 2 trong JavaScript

Làm tròn số đến lũy thừa gần nhất của 2 trong JavaScript

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

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

Thì kết quả đầu ra nên là 128 vì 145 là số gần nhất với 128, có thể biểu diễn dưới dạng 2^n với n là số nguyên.

Ví dụ

Mã thực hiện như sau:

const num = 145;
const nearestPowerOfTwo = num => {
  // chỉ xử lý số không âm
  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

Kết quả trong console:

128