How to convert binary number to octal number in C++

1 Answer

0 votes
#include <iostream>
#include <cmath>

long BinaryToDecimal(long long binary);
int BinaryToOctal(long long binary);

int main()
{
	long long binary = 111101011;

	std::cout << "Octal = " << BinaryToOctal(binary) << std::endl;

	return 0;
}

int BinaryToOctal(long long binary)
{
	int octal = 0, i = 1;

	int decimal = BinaryToDecimal(binary);

	while (decimal != 0)
	{
		octal += (decimal % 8) * i;
		decimal /= 8;
		i *= 10;
	}

	return octal;
}
long BinaryToDecimal(long long binary)
{
	int decimal = 0, i = 0;

	while (binary != 0)
	{
		decimal += (binary % 10) * pow(2, i);
		++i;
		binary /= 10;
	}

	return decimal;
}




/*
run:

Octal = 753

*/

 



answered Jun 10, 2017 by avibootz

Related questions

1 answer 151 views
1 answer 173 views
1 answer 162 views
1 answer 146 views
1 answer 130 views
130 views asked Jul 24, 2022 by avibootz
1 answer 107 views
107 views asked Jul 24, 2022 by avibootz
...