# Toggling k-th bit of a number

For a given number n, if k-th bit is 0, then toggle it to 1 and if it is 1 then, toggle it to 0.
Examples :

```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```

Below are simple steps to find the value of k-th 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.```

Example :

``` 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``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

 ``

## Javascript

 ``

Output :

`4`

Time Complexity : O(1)

Space Complexity : O(1)

If you like GeeksforGeeks(We know you do!) and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org.

Previous
Next