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 phân sang bát phân


Trong hệ thống máy tính, số bát phân (octal) biểu diễn trong hệ cơ số 8, số thập phân (decimal) trong hệ cơ số 10.

Ví dụ số thập phân và số bát phân tương ứng:

Số thập phân Số bát phân
8 10
70 106
25 31
7 7

Chương trình chuyển đổi số thập phân sang bát phân:

Ví dụ

#include <iostream>
using namespace std;

void DecimalToOctal(int decimalNum) {
  int octalNum = 0, placeValue = 1;
  int dNo = decimalNum;
  while (decimalNum != 0) {
    octalNum += (decimalNum % 8) * placeValue;
    decimalNum /= 8;
    placeValue *= 10;
  }
  cout << "Dạng bát phân của số thập phân " << dNo << " là " << octalNum << endl;
}

int main() {
  DecimalToOctal(70);
  return 0;
}

Kết quả đầu ra

Dạng bát phân của số thập phân 70 là 106

Trong chương trình, hàm DecimalToOctal chuyển đổi số thập phân sang bát phân. Ban đầu octalNum khởi tạo bằng 0. Biến placeValue chỉ vị trí chữ số. Giá trị octalNum tìm bằng vòng lặp while.

Mỗi vòng lặp, decimalNum chia 8, phần dư nhân placeValue cộng vào octalNum. decimalNum gán bằng thương. placeValue nhân 10:

while (decimalNum != 0) {
  octalNum += (decimalNum % 8) * placeValue;
  decimalNum /= 8;
  placeValue *= 10;
}

Sau khi có giá trị bát phân (octalNum), hiển thị:

cout << "Dạng bát phân của số thập phân " << dNo << " là " << octalNum << endl;

Hàm main() chỉ chứa lời gọi DecimalToOctal() với giá trị cần chuyển:

DecimalToOctal(70);