C++ 程式,將八進位制數字轉換為二進位制數字
在計算機系統中,二進位制數字在二進位制數字系統中表達,而八進位制數字在八進位制數字系統中表達。二進位制數字以 2 為底數,而八進位制數字以 8 為底數。
二進位制數字及其對應的八進位制數字的示例如下 −
| 二進位制數字 | 八進位制數字 |
|---|---|
| 01101 | 15 |
| 00101 | 5 |
| 10110 | 26 |
| 01010 | 12 |
如下將八進位制數字轉換為二進位制數字的程式 −
示例
#include <iostream>
#include <cmath>
using namespace std;
int OctalToBinary(int octalNum) {
int decimalNum = 0, binaryNum = 0, count = 0;
while(octalNum != 0) {
decimalNum += (octalNum%10) * pow(8,count);
++count;
octalNum/=10;
}
count = 1;
while (decimalNum != 0) {
binaryNum += (decimalNum % 2) * count;
decimalNum /= 2;
count *= 10;
}
return binaryNum;
}
int main() {
int octalNum = 33;
cout <<"Octal to Binary"<<endl;
cout<<"Octal number: "<<octalNum<<endl;
cout<<"Binary number: "<<OctalToBinary(octalNum)<<endl;
return 0;
}輸出
上述程式的輸出如下 −
Octal to Binary Octal number: 33 Binary number: 11011
在給定的程式中,OctalToBinary() 函式將給定的八進位制數字轉換為二進位制數字。這是先將八進位制數字轉換為十進位制數字,再將十進位制數字轉換為二進位制數字。這在以下程式碼片段中可見 −
int OctalToBinary(int octalNum) {
int decimalNum = 0, binaryNum = 0, count = 0;
while(octalNum != 0) {
decimalNum += (octalNum%10) * pow(8,count);
++count;
octalNum/=10;
}
count = 1;
while (decimalNum != 0) {
binaryNum += (decimalNum % 2) * count;
decimalNum /= 2;
count *= 10;
}
return binaryNum;
}在 main() 函式中,給出了八進位制數字。然後透過呼叫 OctalToBinary() 計算其對應的二進位制數字。如下所示 −
int main() {
int octalNum = 33;
cout <<"Octal to Binary"<<endl;
cout<<"Octal number: "<<octalNum<<endl;
cout<<"Binary number: "<<OctalToBinary(octalNum)<<endl;
return 0;
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP