C++ Program to Convert Binary Number to Octal and vice-versa
In this example, we will learn to convert binary number to octal, and octal number to binary manually by creating a user-defined function
To understand this example, you should have the knowledge of the following C++ programming topics:
- C++ Functions
- C++ if, if...else and Nested if...else
- C++ User-defined Functions
- C++ while and do/while Loop
Example 1: Program to Convert Binary Number to Octal
In this program, we will first convert the binary number to decimal. Then, the decimal number is converted to octal.
#include <iostream>
#include <cmath>
using namespace std;
int convertBinarytoOctal(long long);
int main()
{
long long binaryNumber;
cout << "Enter a binary number: ";
cin >> binaryNumber;
cout << binaryNumber << " in binary = "
<< convertBinarytoOctal(binaryNumber) << " in octal ";
return 0;
}
int convertBinarytoOctal(long long binaryNumber)
{
int octalNumber = 0, decimalNumber = 0, i = 0;
while(binaryNumber != 0)
{
decimalNumber += (binaryNumber%10) * pow(2,i);
++i;
binaryNumber/=10;
}
i = 1;
while (decimalNumber != 0)
{
octalNumber += (decimalNumber % 8) * i;
decimalNumber /= 8;
i *= 10;
}
return octalNumber;
}
Output 1
Enter a binary number: 10001 10001 in binary = 21 in octal
Working
The binary number entered by the user is passed to convertBinaryToOctal()
function. And, this function converts the number to octal and returns to the main()
function
Example 2: Program to Convert Octal to Binary
In this program, the octal number is converted to decimal at first. Then, the decimal number is converted to binary number.
#include <iostream>
#include <cmath>
using namespace std;
long long convertOctalToBinary(int);
int main()
{
int octalNumber;
cout << "Enter an octal number: ";
cin >> octalNumber;
cout << octalNumber << " in octal = "
<< convertOctalToBinary(octalNumber) << "in binary";
return 0;
}
long long convertOctalToBinary(int octalNumber)
{
int decimalNumber = 0, i = 0;
long long binaryNumber = 0;
while(octalNumber != 0)
{
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
while (decimalNumber != 0)
{
binaryNumber += (decimalNumber % 2) * i;
decimalNumber /= 2;
i *= 10;
}
return binaryNumber;
}
Output 1
Enter an octal number: 54 54 in octal = 101100
Working
The octal number entered by the user is passed to convertOctalToBinary()
function. And, this function converts the number to binary and returns the main()
function
Next Example
We hope that this Example helped you develop better understanding of the concept of "Convert Binary Number to Octal and vice-versa" in C++.
Keep Learning : )
In the next Example, we will learn about C++ Reverse a Sentence Using Recursion
.