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

Chương trình C++ chuyển đổi số thập lục phân sang nhị phân

Chuyển số thập lục phân (hex) sang nhị phân (binary). Hex cơ số 16 (0-9, A-F), binary cơ số 2 (0,1). Mỗi chữ số hex chuyển thành 4 bit nhị phân rồi nối lại.

Ví dụ

Input: 123B
1 → 0001, 2 → 0010, 3 → 0011, B(11) → 1011
Output: 0001001000111011

Thuật toán

BẮT ĐẦU
    Hàm chuyenDoi(string hexa)
        i = 0
        While(hexa[i])
            Switch(hexa[i])
                case '0': in "0000"; break;
                case '1': in "0001"; break;
                ... case 'F'/'f': in "1111"; break;
                default: in "ký tự không hợp lệ"
            i++
    main()
        hexa = "123B"
        Gọi chuyenDoi(hexa)
KẾT THÚC

Ví dụ mã C++

#include <bits/stdc++.h>
#include<string.h>
using namespace std;

void chuyenDoi(string hexa){
    long int i = 0;
    while (hexa[i]){
        switch (hexa[i]){
            case '0': cout << "0000"; break;
            case '1': cout << "0001"; break;
            case '2': cout << "0010"; break;
            case '3': cout << "0011"; break;
            case '4': cout << "0100"; break;
            case '5': cout << "0101"; break;
            case '6': cout << "0110"; break;
            case '7': cout << "0111"; break;
            case '8': cout << "1000"; break;
            case '9': cout << "1001"; break;
            case 'A': case 'a': cout << "1010"; break;
            case 'B': case 'b': cout << "1011"; break;
            case 'C': case 'c': cout << "1100"; break;
            case 'D': case 'd': cout << "1101"; break;
            case 'E': case 'e': cout << "1110"; break;
            case 'F': case 'f': cout << "1111"; break;
            default: cout << "\nKý tự hex không hợp lệ: " << hexa[i];
        }
        i++;
    }
}

int main(){
    string hexa = "123B";
    cout << "\nGiá trị nhị phân tương đương: ";
    chuyenDoi(hexa);
    return 0;
}

Kết quả đầu ra

Giá trị nhị phân tương đương: 0001001000111011