在 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 次浏览

开启你的 职业生涯

完成该课程以获取认证

开始
广告