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