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

Chương trình chuyển đổi thập phân sang nhị phân trong C++

Chuyển số thập phân (cơ số 10) sang nhị phân (cơ số 2, chỉ có 0 và 1).

Cách làm (dùng dịch bit): Duyệt từ bit 31 xuống 0, dịch phải số cần chuyển i bit, AND với 1 để lấy bit tại vị trí đó.

Ví dụ

Input: 42
42 / 2 = 21 dư 0
21 / 2 = 10 dư 1
10 / 2 = 5 dư 0
5 / 2 = 2 dư 1
2 / 2 = 1 dư 0
1 / 2 = 0 dư 1
Đảo ngược: 101010

Thuật toán (Dịch bit)

Bắt đầu
Bước 1: Hàm convert(int num)
    Với i từ 31 xuống 0:
        k = num >> i
        Nếu (k & 1) in '1' else in '0'
Bước 2: main()
    num = 42
    Gọi convert(num)
Kết thúc

Ví dụ code

#include <iostream>
using namespace std;

void convert(int num) {
    for (int i = 31; i >= 0; i--) {
        int k = num >> i;
        if (k & 1) cout << "1";
        else cout << "0";
    }
}

int main() {
    int num = 42;
    convert(num);
    return 0;
}

Kết quả

00000000000000000000000000101010