Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một số thập phân, chuyển đổi nó sang nhị phân, đảo ngược từng bit (1 thành 0, 0 thành 1) và trả về giá trị thập phân của dãy nhị phân mới.
Ví dụ
Dưới đây là mã:
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));
Kết quả
19878