In this problem, we are given two values n and k. Our task is to find value of k-th bit in binary representation.
Let's take an example to understand the problem,
Input : n= 5, k = 2 Output : 0
Explanation −
Binary of 5 = 0101 Second LSB bit is 0.
Solution Approach
A solution to the problem is by performing bitwise AND of the binary conversion of the number N with a number with all bits unset and one bit set which is at kth position, to get the result.
Example
Program to illustrate the working of our solution,
#include <iostream>
using namespace std;
void findKBitVal(int n, int k){
cout<< ((n & (1 << (k - 1))) >> (k - 1));
}
int main(){
int n = 29, k = 4;
cout<<"The value of kth bit in binary of the number is ";
findKBitVal(n, k);
return 0;
}Output
The value of kth bit in binary of the number is 1