Voltear todos los K-bits de un número dado

Dados dos números enteros N y K , la tarea es representar N en K bits e imprimir el número obtenido después de voltear todos los bits.

Ejemplos:

Entrada: N = 1, K = 32
Salida: 4294967294
Explicación:
1 en K(= 32) la representación de bits es (000000000000000000000000000000001) 2 .
Voltear todos los bits modifica N a (11111111111111111111111111111110) 2 = (4294967294) 10 .

Entrada: N = 0, K = 32
Salida: 4294967295

Enfoque: siga los pasos a continuación para resolver el problema:

  • Encuentre el valor de (1 << (K – 1)) – 1 , digamos X .
  • Finalmente, imprima el valor de (X – N) .

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ Program for the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to flip all K-bits
// of an unsigned number N
void flippingBits(unsigned long N,
                  unsigned long K)
{
 
    // Stores (2 ^ K) - 1
    unsigned long X = (1 << (K - 1)) - 1;
 
    // Update N
    N = X - N;
 
    // Print the answer
    cout << N;
}
 
// Driver Code
int main()
{
    unsigned long N = 1, K = 8;
    flippingBits(N, K);
 
    return 0;
}

Java

// Java program for the above approach
import java.util.*;
 
class GFG{
 
// Function to flip all K-bits
// of an unsigned number N
static void flippingBits(long N,
                         long K)
{
     
    // Stores (2 ^ K) - 1
    long X = (1 << (K - 1)) - 1;
     
    // Update N
    N = X - N;
     
    // Print the answer
    System.out.print(N);
}
 
// Driver Code
public static void main(String[] args)
{
    long N = 1, K = 8;
     
    flippingBits(N, K);
}
}
 
// This code is contributed by shikhasingrajput

Python3

# Python3 Program for the above approach
 
# Function to flip all K-bits
# of an unsigned number N
def flippingBits(N, K):
 
    # Stores (2 ^ K) - 1
    X = (1 << (K - 1)) - 1
 
    # Update N
    N = X - N
 
    # Print the answer
    print(N)
 
# Driver Code
if __name__ == '__main__':
    N, K = 1, 8
    flippingBits(N, K)
 
    # This code is contribute by mohit kumar 29

C#

// C# program for the above approach
using System;
 
class GFG{
 
// Function to flip all K-bits
// of an unsigned number N
static void flippingBits(int N, int K)
{
     
    // Stores (2 ^ K) - 1
    int X = (1 << (K - 1)) - 1;
 
    // Update N
    N = X - N;
 
    // Print the answer
    Console.Write(N);
}
 
// Driver Code
public static void Main(string[] args)
{
    int N = 1, K = 8;
     
    flippingBits(N, K);
}
}
 
// This code is contributed by chitranayal

Javascript

<script>
 
// Javascript program of the above approach
 
// Function to flip all K-bits
// of an unsigned number N
function flippingBits(N, K)
{
      
    // Stores (2 ^ K) - 1
    let X = (1 << (K - 1)) - 1;
      
    // Update N
    N = X - N;
      
    // Print the answer
    document.write(N);
}
 
    // Driver Code
     
  let N = 1, K = 8;
      
    flippingBits(N, K);
  
</script>
Producción: 

126

 

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por shahbazalam75508 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 *