在 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
广告