Alternar k-ésimo bit de un número

Para un número n dado, si el k-ésimo bit es 0, entonces cámbielo a 1 y si es 1, cámbielo a 0.
Ejemplos: 
 

Input : n = 5, k = 1
Output : 4
5 is represented as 101 in binary
and has its first bit 1, so toggling 
it will result in 100 i.e. 4.

Input : n = 2, k = 3
Output : 6

Input : n = 75, k = 4
Output : 67

A continuación se muestran pasos simples para encontrar el valor del k-ésimo bit 
 

1) Left shift given number 1 by k-1 to create 
   a number that has only set bit as k-th bit.
    temp = 1 << (k-1)
2) Return bitwise XOR of temp and n.  Since temp
   has only k-th bit set, doing XOR would toggle 
   only this bit.

Ejemplo : 

 n = 75 and k = 4
 temp = 1 << (k-1) = 1 << 3 = 8 
 Binary Representation of temp = 0..00001000 
 Binary Representation of n = 0..01001011 
 Bitwise XOR of two numbers = 0..01000011

C++

// CPP program to toggle k-th bit of n
#include<iostream>
using namespace std;
 
int toggleKthBit(int n, int k)
{
    return (n ^ (1 << (k-1)));
}
 
// Driver code
int main()
{
    int n = 5, k = 1;
    cout << toggleKthBit(n , k);
    return 0;
}

Java

// Java program to toggle
// k-th bit of a number
 
class Toggle
{
    static int toggleKthBit(int n, int k)
    {
        return (n ^ (1 << (k-1)));
    }
     
    // main function
    public static void main (String[] args)
    {  
        int n = 5, k = 1;
        System.out.println(toggleKthBit(n , k));
    }
}

Python3

# Python3 code to toggle k-th bit of n
 
def toggleKthBit(n, k):
    return (n ^ (1 << (k-1)))
     
# Driver code
n = 5
k = 1
print( toggleKthBit(n , k))
 
# This code is contributed by "Sharad_Bhardwaj".

C#

// C# program to toggle
// k-th bit of a number
using System;
 
class GFG {
     
    static int toggleKthBit(int n, int k)
    {
        return (n ^ (1 << (k-1)));
    }
      
    // main function
    public static void Main()
    {  
        int n = 5, k = 1;
         
        Console.WriteLine(toggleKthBit(n , k));
    }
}
 
//This code is contributed by Anant Agarwal.

PHP

<?php
// Php program to toggle k-th bit of n
 
function toggleKthBit($n, $k)
{
    return ($n ^ (1 << ($k - 1)));
}
 
// Driver code
$n = 5;
$k = 1;
echo toggleKthBit($n, $k);
 
// This code is contributed by Ajit
?>

Javascript

<script>
 
    // Javascript program to toggle
    // k-th bit of a number
     
    function toggleKthBit(n, k)
    {
        return (n ^ (1 << (k-1)));
    }
     
    let n = 5, k = 1;
           
      document.write(toggleKthBit(n , k));
     
</script>

Producción :  

4

Complejidad de tiempo : O(1)

Complejidad espacial : O(1)

Este artículo es una contribución de SAKSHI TIWARI . Si te gusta GeeksforGeeks (¡sabemos que te gusta!) y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

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