用 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

更新於: 20-Apr-2021

129 次瀏覽

職業起步

透過完成課程獲得認證

開始
廣告