Computer >> Máy Tính >  >> Lập trình >> C ++

In ra bit quan trọng thứ K của một số trong C ++

Trong bài toán này, chúng ta được cung cấp hai số n và k. Nhiệm vụ của chúng ta là in k th bit quan trọng nhất của số n.

Hãy lấy một ví dụ để hiểu vấn đề

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

Bây giờ, bit quan trọng thứ 3 là 1.

Để giải quyết vấn đề này, chúng ta sẽ sử dụng các bit nhị phân của số. Và mang lại bit thứ k của số. Đối với điều này, chúng tôi sẽ sử dụng dịch chuyển nhị phân của số và dịch sang trái số (k-1) lần. Bây giờ, đang thực hiện thao tác kết thúc của số đã dịch và số ban đầu sẽ cung cấp giá trị của bit thứ k.

Ví dụ

Đoạn mã dưới đây sẽ hiển thị việc triển khai giải pháp của chúng tôi

#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;
}

Đầu ra

3th significant bit of 12 is : 1