Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript를 사용하여 다른 십진수를 생성하기 위해 십진수의 인접한 이진 비트를 교환

<시간/>

문제

숫자를 받는 JavaScript 함수를 작성해야 합니다.

우리의 함수는 숫자에 해당하는 이진법을 반복하고 인접한 비트를 교환하여 새 이진법을 구성해야 합니다. 그리고 마지막으로 우리 함수는 새로운 바이너리에 해당하는 10진수를 반환해야 합니다.

예시

다음은 코드입니다 -

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