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);
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP