C++程序:将十进制数转换为八进制数


在计算机系统中,八进制数用八进制数制表示,而十进制数用十进制数制表示。八进制数是8进制的,而十进制数是10进制的。

以下是十进制数及其对应的八进制数的示例。

十进制数八进制数
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`将十进制数转换为八进制数。在`DecimalToOctal`函数中,最初将变量`octalNum`初始化为零。变量`placeValue`表示数字中数字的位置。`octalNum`的值使用`while`循环找到。

对于`while`循环的每次迭代,`decimalNum`除以8,余数乘以`placeValue`。将其添加到`octalNum`的先前值。`decimalNum`也除以8,并将商存储回去。`placeValue`乘以10。

演示此功能的代码片段如下所示。

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

获得八进制值(即`octalNum`)后,将其显示出来。如下所示:

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

`main()`函数只包含对`DecimalToOctal()`函数的调用,并带有所需的值。这由以下代码片段演示。

DecimalToOctal(70);

更新于:2020年6月24日

1K+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告