在 C++ 中打印数字的第 K 个最低有效位


在此问题中,我们给定两个数字 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

更新于: 2020 年 2 月 03 日

358 次浏览

开启你的职业生涯

完成课程,获得认证

开始学习
广告
© . All rights reserved.