Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Hoán đổi các bit nhị phân liền kề của số thập phân để ra số khác bằng JavaScript


Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một số.

Hàm phải lặp qua biểu diễn nhị phân của số và hoán đổi các bit liền kề để xây dựng nhị phân mới. Và cuối cùng hàm phải trả về giá trị thập phân của nhị phân mới.

Ví dụ

Dưới đâ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));

Kết quả

14