Computer >> Máy Tính >  >> Lập trình >> Javascript

Trao đổi các bit nhị phân liền kề của một số thập phân để mang lại một số thập phân khác bằng JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript sử dụng một số.

Hàm của chúng ta nên lặp lại qua số tương đương nhị phân và hoán đổi các bit liền kề của nó để tạo ra một nhị phân mới. Và cuối cùng, hàm của chúng ta sẽ trả về giá trị thập phân tương đương với hệ nhị phân mới.

Ví dụ

Sau đây là mã -

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));

Đầu ra

14