在 JavaScript 中顛倒一個十進位制數字的位並返回新的十進位制數字


問題

我們需要編寫一個 JavaScript 函式,該函式輸入一個十進位制數字,將其轉換為二進位制並將其 1 位反轉為 0,將 0 反轉為 1,並返回由此形成的新二進位制數的十進位制等效值。

範例

以下是程式碼 −

 即時演示

const num = 45657;
const reverseBitsAndConvert = (num = 1) => {
   const binary = num.toString(2);
   let newBinary = '';
   for(let i = 0; i < binary.length; i++){
      const bit = binary[i];
      newBinary += bit === '1' ? '0' : 1;
   };
   const decimal = parseInt(newBinary, 2);
   return decimal;
};
console.log(reverseBitsAndConvert(num));

輸出

19878

更新於: 19-4-2021

213 次瀏覽

開啟你的 職業生涯

完成該課程以獲取認證

開始
廣告
© . All rights reserved.