C++程序:将十进制数转换为八进制数
在计算机系统中,八进制数用八进制数制表示,而十进制数用十进制数制表示。八进制数是8进制的,而十进制数是10进制的。
以下是十进制数及其对应的八进制数的示例。
十进制数 | 八进制数 |
---|---|
8 | 10 |
70 | 106 |
25 | 31 |
7 | 7 |
将十进制数转换为八进制数的程序如下所示。
示例
#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);
广告