1
Làm sao để chuyển số thập phân sang số nhị phân trong C++?
0
Cộng đồng đã đăng:

Mình cần chuyển số thập phân sang số nhị phân trong C++, làm sao để làm được việc này?

Ví dụ:

8 = 1000

13 = 1101

thêm bình luận...
0
xuans2huy510 đã đăng:

Cứ chia số đó cho 2 cho đến khi không còn chia được nữa, tức là bằng 0 thì dừng, ở mỗi lần thực hiện phép chia cho 2, kết quả của phép chia dư cho 2 chính là giá trị nhị phân cần tìm, bởi vì bản chất số thập phân chính là tổng của lũy thừa 2, ví dụ:

$8 = 1 \times 2^3 + 0 \times 2^2 + 0 \times 2^1 + 0 \times 2^0$

$13 = 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0$

Chúng ta cần thu thập các giá trị nhị phân 0 và 1 ở hai ví dụ trên, và cách đơn giản mình nghĩ đó là tạo một mảng int, sau đó dùng nó để thu thập hai giá trị 0 và 1 của một số thập phân tương ứng.

#include <iostream>
using namespace std;

int main() {
    int n;
    int A[50];
    cout << "Nhap vao 1 so la: ";
    cin >> n;

    int length = 0;
    while (n > 0) {
        int binary = n % 2;
        A[length] = binary;

        n /= 2;
        length++;
    }

    cout << "Gia tri nhi phan tuong ung la: ";
    for (int i = length - 1; i >= 0; i--) {
        cout << A[i];
    }

    cout << endl;
}
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)