在C ++中打印数字的Kth最低有效位

在这个问题上,我们给了两个数字n和k。我们的任务是打印数字n的k最低有效位。

让我们以一个例子来了解问题

Input: n = 12 , k = 3
Output
1
Explanation:
Let’s see the binary representation of n: 12 = 1100

现在,第3个最低有效位是1。

为了解决这个问题,我们将使用数字的二进制位。并得出数字的第k位。为此,我们将使用数字的二进制移位,然后将数字左移(k-1)次。现在,对移位后的数字和原始数字进行结束操作,这将得出第k位的值。

示例

以下代码将显示我们解决方案的实现

#include <bits/stdc++.h>
using namespace std;
int main() {
   int N = 12, K = 3;
   cout<<K<<"th significant bit of "<<N<<" is : ";
   bool kthLSB = (N & (1 << (K-1)));
   cout<<kthLSB;
   return 0;
}

输出结果

3th significant bit of 12 is : 1