Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ แปลงเลขฐานสิบ (Decimal) เป็นฐานแปด (Octal)


ในระบบคอมพิวเตอร์ เลขฐานแปด (Octal) ใช้ฐาน 8 ส่วนเลขฐานสิบ (Decimal) ใช้ฐาน 10

ตัวอย่างการแปลง:

DecimalOctal
810
70106
2531
77

ตัวอย่างโค้ด

#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 << "Octal form of decimal number " << dNo << " is " << octalNum << endl;
}

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

ผลลัพธ์

Octal form of decimal number 70 is 106

อธิบายการทำงาน

ฟังก์ชัน DecimalToOctal แปลง decimal เป็น octal:

  • octalNum เริ่มที่ 0, placeValue = 1 (ตำแหน่งหลัก)
  • while loop: decimalNum ≠ 0
  • หาร decimalNum ด้วย 8 เอาเศษคูณ placeValue บวกใน octalNum
  • decimalNum = ผลหาร, placeValue ×= 10
while (decimalNum != 0) {
    octalNum += (decimalNum % 8) * placeValue;
    decimalNum /= 8;
    placeValue *= 10;
}

แสดงผล:

cout<<"Octal form of decimal number "<<dNo<<" is "<<octalNum<<endl;

main() เรียกฟังก์ชันด้วยค่าที่ต้องการ:

DecimalToOctal(70);