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