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

Chương trình C++ chuyển đổi số bát phân sang nhị phân


Trong hệ thống máy tính, số nhị phân được biểu diễn trong hệ cơ số 2, trong khi số bát phân sử dụng hệ cơ số 8.

Dưới đây là các ví dụ về số nhị phân và số bát phân tương ứng:

Số nhị phânSố bát phân
0110115
001015
1011026
0101012

Chương trình sau thực hiện chuyển đổi từ bát phân sang nhị phân:

Ví dụ

#include <iostream>
#include <cmath>
using namespace std;

int OctalToBinary(int octalNum) {
    int decimalNum = 0, binaryNum = 0, count = 0;
    while(octalNum != 0) {
        decimalNum += (octalNum % 10) * pow(8, count);
        ++count;
        octalNum /= 10;
    }
    count = 1;
    while (decimalNum != 0) {
        binaryNum += (decimalNum % 2) * count;
        decimalNum /= 2;
        count *= 10;
    }
    return binaryNum;
}

int main() {
    int octalNum = 33;
    cout << "Octal to Binary" << endl;
    cout << "Octal number: " << octalNum << endl;
    cout << "Binary number: " << OctalToBinary(octalNum) << endl;
    return 0;
}

Kết quả

Octal to Binary
Octal number: 33
Binary number: 11011

Trong chương trình, hàm OctalToBinary() chuyển đổi số bát phân thành nhị phân thông qua hai bước: đầu tiên chuyển bát phân sang thập phân, sau đó chuyển thập phân sang nhị phân.

Giải thích hàm chuyển đổi

int OctalToBinary(int octalNum) {
    int decimalNum = 0, binaryNum = 0, count = 0;
    while(octalNum != 0) {
        decimalNum += (octalNum % 10) * pow(8, count);
        ++count;
        octalNum /= 10;
    }
    count = 1;
    while (decimalNum != 0) {
        binaryNum += (decimalNum % 2) * count;
        decimalNum /= 2;
        count *= 10;
    }
    return binaryNum;
}

Hàm main()

int main() {
    int octalNum = 33;
    cout << "Octal to Binary" << endl;
    cout << "Octal number: " << octalNum << endl;
    cout << "Binary number: " << OctalToBinary(octalNum) << endl;
    return 0;
}