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

การสลับไบนารีบิตที่อยู่ติดกันของทศนิยมเพื่อให้ได้ทศนิยมอื่นโดยใช้ JavaScript


ปัญหา

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

ฟังก์ชันของเราควรวนซ้ำผ่านเลขฐานสองที่เท่ากันของตัวเลขและสลับบิตที่อยู่ติดกันเพื่อสร้างไบนารีใหม่ และสุดท้ายฟังก์ชันของเราควรจะคืนค่าทศนิยมที่เทียบเท่ากับไบนารีใหม่

ตัวอย่าง

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

const num = 13;
const swapBits = (num) => {
   let arr = num.toString(2).split('');
   if(arr.length % 2){
      arr.unshift(0);
   }
   for(let i = 0; i < arr.length - 1; i = i + 2) {
      [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
   }
   return +('0b' + arr.join(''));
}
console.log(swapBits(num));

ผลลัพธ์

14