在 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 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始學習
廣告