Encuentre un valor cuyo XOR con el número dado sea máximo

Dado un valor X, la tarea es encontrar el número Y que dará el valor máximo posible cuando XOR con X. 
(Suponga que X tiene 8 bits) El valor máximo posible de X e Y es 255.
Ejemplos: 
 

Input:  X = 2
Output: 253
Binary Representation of X = 00000010
Binary Representation of Y = 11111101
Maximum XOR value: 11111111

Input:  X = 200
Output: 55

Enfoque: para garantizar el valor máximo de XOR, debemos activar todos los bits que están desactivados en X. Entonces, para eso, Y debe tener todos los bits activados que están desactivados en X y desactivados que están activados en X como ( 0^1 = 1 y 1^0 = 1). Entonces, Y debería ser la representación en complemento a 1 de X. 
A continuación se muestra la implementación del enfoque anterior: 
 

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>
Producción: 

Required Number is : 251

 

Publicación traducida automáticamente

Artículo escrito por krikti y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *