Geeksforgeeks

X

DAYS

:

HOUR

:

MINS

:

SEC

Error

Copied to Clipboard

Given a number **N **and a bit number **K**, check if **K ^{th}** bit of N is

**Input**: N = 4, K = 0
**Output**: No
**Explanation**: Binary representation of 4 is 100,
in which 0^{th} bit from LSB is not set.
So, return false.

**Example 2:**

**Input**: N = 4, K = 2
**Output**: Yes
**Explanation**: Binary representation of 4 is 100,
in which 2^{nd} bit from LSB is set.
So, return true.

**Example 3:**

**Input**: N = 500, K = 3
**Output**: No
**Explanation**: Binary representation of 500 is
111110100, in which 3rd bit from LSB is not set.
So, return false.

You don't have to read input or print anything. Your task is to complete the **function checkKthbit **that takes **n and k as parameters** and **returns **either **true **(if kth bit is set) or **false**(if kth bit is not set).

**Expected Time Complexity:** O(LogN).

**Expected Auxiliary Space:** O(1).

**Constraints:**

1 ≤ N ≤ 10^{9}

0 ≤ K ≤ floor(log_{2}(N) + 1)

1 ≤ N ≤ 10

0 ≤ K ≤ floor(log

We are replacing the old Disqus forum with the new Discussions section given below.

Click here to view old Disqus comments.

Click here to view old Disqus comments.

Login to report an issue on this page.

We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?

YesLoading...

Check whether K-th bit is set or not

...