Skip to content
Related Articles

Related Articles

Find a value whose XOR with given number is maximum
  • Difficulty Level : Basic
  • Last Updated : 07 Feb, 2019

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 both 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 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
?>


Output:

Required Number is : 251

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up
Recommended Articles
Page :