Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

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

Trong bài toán này, chúng ta được cho hai số n và k. Nhiệm vụ là in ra bit ít quan trọng thứ k (k-th least significant bit) của số n.

Hãy xem ví dụ sau để hiểu rõ vấn đề:

Input: n = 12 , k = 3 Output 1 Giải thích: Xem biểu diễn nhị phân của n: 12 = 1100

Bit ít quan trọng thứ 3 là 1.

Để giải quyết, ta dùng các bit nhị phân của số. Lấy bit thứ k của số. Ta dùng dịch bit: dịch trái số (k-1) lần. Sau đó phép AND giữa số đã dịch và số gốc sẽ cho giá trị bit thứ k.

Ví dụ

Đoạn mã dưới đây minh họa triển khai giải pháp:

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

Kết quả

3th significant bit of 12 is : 1