Open In App

Find a value whose XOR with given number is maximum

Last Updated : 18 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads