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

Chuyển đổi từ thập phân sang nhị phân


Giới thiệu

Một số thập phân cũng có thể được chuyển đổi thành dạng nhị phân. Để chuyển đổi số thập phân sang nhị phân, ta chia số đó cho 2 cho đến khi kết quả là 0 hoặc 1. Ở mỗi bước, các phần dư được lưu riêng để tạo thành số nhị phân theo thứ tự ngược lại.

Trong thuật toán này, ta sẽ sử dụng phương pháp đệ quy. Điều này giúp giải quyết bài toán mà không cần cấu trúc dữ liệu stack. Trong triển khai, ta biết rằng đệ quy của một hàm sẽ tuân theo stack nội bộ. Ta sẽ sử dụng stack đó để phục vụ công việc.

Đầu vào và Đầu ra

Đầu vào: Số thập phân 56
Đầu ra: Giá trị nhị phân: 111000

Thuật toán

decToBin(decimal)
Đầu vào: Số thập phân.
Đầu ra: Chuỗi nhị phân tương đương.

Begin
    if decimal = 0 OR 1, then
        chèn decimal vào chuỗi nhị phân
        return
    decToBin(decimal / 2)
    chèn (decimal mod 2) vào chuỗi nhị phân.
End

Ví dụ (C++)

#include <iostream>
using namespace std;

void decToBin(int dec) {
    if(dec == 1 || dec == 0) {
        cout << dec;  // in 0 hoặc 1 là dec
        return;
    }
    decToBin(dec/2);  // chia số cho 2 và tìm thập phân lại
    cout << dec % 2;  // sau khi trả về in giá trị theo thứ tự ngược
}

main() {
    int dec;
    cout << "Enter decimal number: "; cin >> dec;
    cout << "Binary Equivalent: "; decToBin(dec);
}

Kết quả

Enter decimal number: 56
Binary Equivalent: 111000