在这个问题上,我们给了两个数字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