# Flip all K-bits of a given number

• Difficulty Level : Medium
• Last Updated : 04 May, 2021

Given two integers N and K, the task is to represent N in K bits and print the number obtained after flipping all the bits.

Examples:

Input:N = 1, K = 32
Output: 4294967294
Explanation:
1 in K(= 32) bit representation is (00000000000000000000000000000001)2.
Flipping all the bits modifies N to (11111111111111111111111111111110)2 = (4294967294)10.

Input: N = 0, K = 32
Output: 4294967295

Approach: Follow the steps below to solve the problem:

• Find the value of (1 << (K – 1)) – 1, say X.
• Finally, print the value of (X – N).

Below is the implementation of the above approach:

## C++

 `// C++ Program for the above approach` `#include ``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

 ``
Output:
`126`

Time Complexity: O(1)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up