JavaScript: Reverse the order of the bits in a given integer
JavaScript Basic: Exercise-127 with Solution
Reverse Bits in Integer
Write a JavaScript program to reverse the order of bits in a integer.
14 -> 00001110 -> 01110000 -> 112
56 -> 00111000 -> 00011100 -> 28
234 -> 11101010 -> 01010111 -> 87
Visual Presentation:
Sample Solution:
JavaScript Code:
// Function to mirror bits of a given number
function mirror_bits(n) {
// Convert number to binary and split into array of bits
let t = n.toString(2).split("");
// Get the length of the binary string
let str_len = t.length;
// Add leading zeroes to make the length of the binary string 8
for (let i = 0; i < 8 - str_len; i++) {
t.unshift("0");
}
// Reverse the bits and convert the binary string back to a number
return parseInt(t.reverse().join(""), 2);
}
// Test cases with comments showing the step-by-step process
// 14 -> 00001110 -> 01110000 -> 112
console.log(mirror_bits(14));
// 56 -> 00111000 -> 00011100 -> 28
console.log(mirror_bits(56));
// 234 -> 11101010 -> 01010111 -> 87
console.log(mirror_bits(234));
Output:
112 28 87
Live Demo:
See the Pen javascript-basic-exercise-127 by w3resource (@w3resource) on CodePen.
Flowchart:
ES6 Version:
// Function to mirror bits of a given number
const mirror_bits = (n) => {
// Convert number to binary and split into array of bits
let t = n.toString(2).split("");
// Get the length of the binary string
let str_len = t.length;
// Add leading zeroes to make the length of the binary string 8
for (let i = 0; i < 8 - str_len; i++) {
t.unshift("0");
}
// Reverse the bits and convert the binary string back to a number
return parseInt(t.reverse().join(""), 2);
};
// Test cases with comments showing the step-by-step process
// 14 -> 00001110 -> 01110000 -> 112
console.log(mirror_bits(14));
// 56 -> 00111000 -> 00011100 -> 28
console.log(mirror_bits(56));
// 234 -> 11101010 -> 01010111 -> 87
console.log(mirror_bits(234));
Improve this sample solution and post your code through Disqus.
Previous: JavaScript program to get the largest even number from an array of integers.
Next: JavaScript program to find the smallest round number that is not less than a given value.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics