Given a value X, the task is to find the number Y which will give maximum value possible when XOR with X.
(Assume X to be 8 bits) Maximum possible value of X and Y is 255.
Examples:
Input: X = 2 Output: 253 Binary Representation of X = 00000010 Binary Representation of Y = 11111101 Maximum XOR value: 11111111 Input: X = 200 Output: 55
Approach: In order to ensure the maximum value of XOR, we need to set all those bits ON which are OFF in X. So for that, Y should have all bits ON which are OFF in X and OFF which are ON in X as (0^1 = 1 and 1^0 = 1). So Y should be the 1’s complement representation of X.
Below is the implementation of the above approach:
C++
// C++ implementation of the above approach #include <bits/stdc++.h> using namespace std;
// Function To Calculate Answer int calculate( int X)
{ // Find number of bits in the given integer
int number_of_bits = 8;
// XOR the given integer with poe(2,
// number_of_bits-1 and print the result
return ((1 << number_of_bits) - 1) ^ X;
} // Driver Code int main()
{ int X = 4;
cout << "Required Number is : "
<< calculate(X) << endl;
return 0;
} |
Java
// Java implementation of the above approach import java.io.*;
class GFG {
// Function To Calculate Answer static int calculate( int X)
{ // Find number of bits in the given integer
int number_of_bits = 8 ;
// XOR the given integer with poe(2,
// number_of_bits-1 and print the result
return (( 1 << number_of_bits) - 1 ) ^ X;
} // Driver Code public static void main (String[] args) {
int X = 4 ;
System.out.println( "Required Number is : "
+calculate(X));
}
} // This code is contributed by shs.. |
Python3
# Python3 implementation of the above approach # Function To Calculate Answer def calculate(X):
# Find number of bits in the given integer
number_of_bits = 8
# XOR the given integer with poe(2,
# number_of_bits-1 and print the result
return (( 1 << number_of_bits) - 1 ) ^ X
# Driver Code if __name__ = = "__main__" :
X = 4
print ( "Required Number is:" , calculate(X))
# This code is contributed by Rituraj Jain |
C#
// C# implementation of the above approach using System;
class GFG
{ // Function To Calculate Answer static int calculate( int X)
{ // Find number of bits in
// the given integer
int number_of_bits = 8;
// XOR the given integer with poe(2,
// number_of_bits-1 and print the result
return ((1 << number_of_bits) - 1) ^ X;
} // Driver Code public static void Main ()
{ int X = 4;
Console.WriteLine( "Required Number is : " +
calculate(X));
} } // This code is contributed by shs.. |
PHP
<?php // PHP implementation of the // above approach // Function To Calculate Answer function calculate( $X )
{ // Find number of bits in
// the given integer
$number_of_bits = 8;
// XOR the given integer with
// poe(2, number_of_bits-1 and
// print the result
return ((1 << $number_of_bits ) - 1) ^ $X ;
} // Driver Code $X = 4;
echo "Required Number is : " .
calculate( $X ) . "\n" ;
// This code is contributed // by Akanksha Rai ?> |
Javascript
<script> // Javascript implementation of the above approach // Function To Calculate Answer function calculate(X)
{ // Find number of bits in the given integer
let number_of_bits = 8;
// XOR the given integer with poe(2,
// number_of_bits-1 and print the result
return ((1 << number_of_bits) - 1) ^ X;
} // Driver Code let X = 4;
document.write( "Required Number is : "
+ calculate(X) + "<br>" );
</script> |
Output:
Required Number is : 251
Time Complexity: O(1)
Auxiliary Space: O(1)