Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การปัดเศษตัวเลขเป็นกำลังที่ใกล้เคียงที่สุดใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลขและส่งคืนตัวเลขที่สามารถแสดงเป็นกำลัง 2 ซึ่งใกล้เคียงกับตัวเลขอินพุตมากที่สุด

ตัวอย่างเช่น ถ้าใส่ตัวเลขถ้า 145

ผลลัพธ์ควรเป็น 128 เนื่องจาก 145 เป็นจำนวนที่ใกล้เคียงที่สุดกับ 128 ซึ่งสามารถแทนค่าเป็น 2^n สำหรับค่าจำนวนเต็มบางค่าของ 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