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

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

Chuyển số bát phân (cơ số 8, chữ số 0-7) sang thập phân (cơ số 10).

Cách làm: Tách từng chữ số từ phải sang trái (lấy phần dư chia 10), nhân với 8^vị_trí, cộng dồn.

Ví dụ

Input: 451
1 * 8^0 = 1
5 * 8^1 = 40
4 * 8^2 = 256
Total = 297 (Lưu ý: ví dụ gốc có sai tính toán, kết quả đúng là 297)

Thuật toán

Bắt đầu
Bước 1: Hàm convert(int num)
    temp = num, val = 0, base = 1
    Khi temp > 0:
        digit = temp % 10
        temp /= 10
        val += digit * base
        base *= 8
    Trả về val
Bước 2: main()
    num = 45
    In convert(num)
Kết thúc

Ví dụ code

#include <iostream>
using namespace std;

int convert(int num) {
    int temp = num, val = 0, base = 1;
    while (temp) {
        int digit = temp % 10;
        temp /= 10;
        val += digit * base;
        base *= 8;
    }
    return val;
}

int main() {
    int num = 45;
    cout << "Gia tri sau chuyen doi: " << convert(num);
    return 0;
}

Kết quả

Gia tri sau chuyen doi: 37