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

บิตสลับกันเป็นจำนวนเต็มโดยใช้ JavaScript หรือไม่


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้จำนวนเต็ม num เป็นอาร์กิวเมนต์แรกและตัวเดียว

ฟังก์ชันของเราควรตรวจสอบว่าการแสดงเลขฐานสองของ num มีบิตสลับกันหรือไม่ กล่าวคือ หากบิตที่อยู่ติดกันสองบิตมีค่าต่างกันเสมอ

ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ

ป้อนข้อมูล

const num = 5;

ผลผลิต

const output = true;

คำอธิบายผลลัพธ์

เนื่องจากรูปแบบไบนารีของ 5 คือ 101 ซึ่งมีบิตสลับกัน

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const num = 5;
const isAlternating = (num = 1) => {
   const binary = num.toString(2);
   let curr = binary[0];
   for(let i = 1; i < binary.length; i++){
      const el = binary[i];
      if(curr !== el){
         curr = el;
         continue;
      };
      return false;
   };
   return true;
};
console.log(isAlternating(num));

ผลลัพธ์

true