Toggle all the bits of a number except k-th bit.

Given a positive (or unsigned) integer **n**, write a function to toggle all the bits except k-th bit. Here value of k starts from 0 (zero) and from right.

**Examples**:

Input : n = 4294967295, k = 0 Output : 1 The number 4294967295 in 32 bits has all bits set. When we toggle all bits except last bit, we get 1. Input : n = 1, k = 1 Output : 4294967292 4294967262 has all bits toggled except second bit from right.

- Toggle bit at k-th position. We do it by finding a number with only k-th bit set (using 1 << k), then doing bitwise XOR of this number n.
- Toggle all bits of number obtained above using ~ (Bitwise negation)

## C++

`// C++ program to toggle all bits except kth bit` `#include <iostream>` `using` `namespace` `std;` `// Returns a number with all bit toggled in n` `// except k-th bit` `unsigned ` `int` `toggleAllExceptK(unsigned ` `int` `n,` ` ` `unsigned ` `int` `k)` `{` ` ` ` ` `/* 1) Toggle k-th bit by doing n ^ (1 << k)` ` ` `2) Toggle all bits of the modified number */` ` ` `return` `~(n ^ (1 << k));` `}` `// Driver code` `int` `main()` `{` ` ` `unsigned ` `int` `n = 4294967295;` ` ` `unsigned ` `int` `k = 0;` ` ` ` ` `cout << toggleAllExceptK(n, k);` ` ` ` ` `return` `0;` `}` `// This code is contributed by khushboogoyal499` |

## C

`// C program to toggle all bits except kth bit` `#include<stdio.h>` `// Returns a number with all bit toggled in n` `// except k-th bit` `unsigned ` `int` `toggleAllExceptK(unsigned ` `int` `n,` ` ` `unsigned ` `int` `k)` `{` ` ` `/* 1) Toggle k-th bit by doing n ^ (1 << k)` ` ` `2) Toggle all bits of the modified number */` ` ` `return` `~(n ^ (1 << k));` `}` `// Driver code` `int` `main()` `{` ` ` `unsigned ` `int` `n = 4294967295;` ` ` `unsigned ` `int` `k = 0;` ` ` `printf` `(` `"%u"` `, toggleAllExceptK( n, k));` ` ` `return` `0;` `}` |

## Python3

`# Python3 program to toggle all bits` `# except kth bit` `# Returns a number with all bit toggled` `# in n except k-th bit` `def` `toggleAllExceptK(n, k):` ` ` ` ` `# 1) Toggle k-th bit by doing n ^ (1 << k)` ` ` `# 2) Toggle all bits of the modified number` ` ` `temp ` `=` `bin` `(n ^ (` `1` `<< k))[` `2` `:]` ` ` `ans ` `=` `""` ` ` `for` `i ` `in` `temp:` ` ` `if` `i ` `=` `=` `'1'` `:` ` ` `ans ` `+` `=` `'0'` ` ` `else` `:` ` ` `ans ` `+` `=` `'1'` ` ` `return` `int` `(ans, ` `2` `)` `# Driver code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` ` ` `n ` `=` `4294967295` ` ` `k ` `=` `0` ` ` ` ` `print` `(toggleAllExceptK(n, k))` `# This code is contributed by mohit kumar 29` |

## Javascript

`<script>` `// javascript program to toggle all bits except kth bit` ` ` ` ` `// Returns a number with all bit toggled in n` ` ` `// except k-th bit` ` ` `function` `toggleAllExceptK(n,k)` ` ` `{` ` ` `/* 1) Toggle k-th bit by doing n ^ (1 << k)` ` ` `2) Toggle all bits of the modified number */` ` ` `return` `~(n ^ (1 << k));` ` ` `}` ` ` ` ` `// Driver code` ` ` `let n = 4294967295;` ` ` `let k = 0;` ` ` `document.write(toggleAllExceptK(n, k));` ` ` ` ` ` ` `//This code is contributed by unknown2108` ` ` `</script>` |

**Output: **

1