How to convert binary number to octal number in C

1 Answer

0 votes
#include <stdio.h> 
#include <math.h> 
  
long BinaryToDecimal(long long binary);
int BinaryToOctal(long long binary);
 
int main(void)
{
    long long binary = 111101011;
 
    printf("Octal = %d\n", BinaryToOctal(binary));
 
    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 181 views
1 answer 162 views
1 answer 169 views
1 answer 142 views
142 views asked Jul 24, 2022 by avibootz
1 answer 117 views
117 views asked Jul 24, 2022 by avibootz
1 answer 129 views
129 views asked Jul 23, 2022 by avibootz
...