Check if actual binary representation of a number is palindrome | function to reverse bits of a number ; traversing bits of ' n ' from the right ; bitwise left shift ' rev ' by 1 ; if current bit is '1' ; bitwise right shift ' n ' by 1 ; required number ; function to check a number is palindrome or not ; get the number by reversing bits in the binary representation of ' n ' ; Driver code
function reverseBits ( n ) { let rev = 0 ; while ( n > 0 ) { rev <<= 1 ; if ( ( n & 1 ) == 1 ) rev ^= 1 ; n >>= 1 ; } return rev ; } function isPalindrome ( n ) { let rev = reverseBits ( n ) ; return ( n == rev ) ; } let n = 9 ; if ( isPalindrome ( n ) ) document . write ( " " ) ; else document . write ( " " ) ;