# Conversion from binary to octal in c++

C++ program for Conversion from binary to octal. Here more solutions.

``````// Include header file
#include <iostream>
#include <string>

//  Stdc++11 program for
//  Convert Binary number into Octal number
class Convert
{
// Convert decimal number into octal
public:
int octal(int number)
{
int result = 0;
int multiplier = 1;
int remainder = 0;
while (number != 0)
{
remainder = number % 8;
result = (remainder * multiplier) + result;
multiplier *= 10;
number = number / 8;
}
return result;
}
void binaryToOctal(std::string num)
{
if (num.length() == 0)
{
// When empty binary number
return;
}
// Some useful variable
bool flag = false;
int decimalNo = 0;
int counter = 0;
int index = num.length() - 1;
// We Assume that given binary number is valid
// Here - indicates negative binary number
// First convert binary to decimal
// Example = 10111 => 23
while (index >= 0)
{
if (num[index] == '1')
{
decimalNo += (1 << counter);
}
else
{
if (num[index] != '0')
{
if (index == 0 && num[index] == '-')
{
// When get negative number
flag = true;
}
else
{
// Not a valid binary number
return;
}
}
}
counter += 1;
index -= 1;
}
// When given number is
int output = octal(decimalNo);
if (flag == true)
{
output = -output;
}
// Display given number
std::cout << "Binary : " + num;
// Display result
std::cout << " Octal : " << output << std::endl;
}
};
int main(int argc, char **argv){
// Test Case
return 0;
};``````

Output

``````Binary : 1111 Octal : 17
Binary : 10111 Octal : 27
Binary : 101011 Octal : 53
Binary : 11011 Octal : 33
Binary : -1000110 Octal : -106``````

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.