C Exercises: Convert binary number to octal
C For Loop: Exercise-53 with Solution
Write a program in C to convert a binary number to octal.
Pictorial Presentation:

Sample Solution:
C Code:
#include <stdio.h>
#include <math.h>
void main()
{ int n1, n,p=1;
int dec=0,i=1,j,d;
int ocno=0,dn;
printf("\n\nConvert Binary to Octal:\n ");
printf("-------------------------\n");
printf("Input a binary number :");
scanf("%d",&n);
n1=n;
for (j=n;j>0;j=j/10)
{
d = j % 10;
if(i==1)
p=p*1;
else
p=p*2;
dec=dec+(d*p);
i++;
}
/*--------------------------------------------*/
dn=dec;
i=1;
for(j=dec;j>0;j=j/8)
{
ocno=ocno+(j % 8)*i;
i=i*10;
n=n/8;
}
printf("\nThe Binary Number : %d\nThe equivalent Octal Number : %d \n\n",n1,ocno);
}
Sample Output:
Convert Binary to Octal: ------------------------- Input a binary number :1001 The Binary Number : 1001 The equivalent Octal Number : 11
Flowchart :

C Programming Code Editor:
Improve this sample solution and post your code through Disqus.
Previous: Write a program in c to find the Sum of GP series.
Next: Write a program in C to convert an octal number into binary.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
C Programming: Tips of the Day
Printing hexadecimal characters in C:
You are seeing the ffffff because char is signed on your system. In C, vararg functions such as printf will promote all integers smaller than int to int. Since char is an integer (8-bit signed integer in your case), your chars are being promoted to int via sign-extension.
Since c0 and 80 have a leading 1-bit (and are negative as an 8-bit integer), they are being sign-extended while the others in your sample don't.
char int c0 -> ffffffc0 80 -> ffffff80 61 -> 00000061Here's a solution:
char ch = 0xC0; printf("%x", ch & 0xff);
This will mask out the upper bits and keep only the lower 8 bits that you want.
Ref : https://bit.ly/3vOLizM
- Exercises: Weekly Top 12 Most Popular Topics
- Pandas DataFrame: Exercises, Practice, Solution
- Conversion Tools
- JavaScript: HTML Form Validation
- SQL Exercises, Practice, Solution - SUBQUERIES
- C Programming Exercises, Practice, Solution : For Loop
- Python Exercises, Practice, Solution
- Python Data Type: List - Exercises, Practice, Solution
- C++ Basic: Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - exercises on Employee Database
- SQL Exercises, Practice, Solution - exercises on Movie Database
- SQL Exercises, Practice, Solution - exercises on Soccer Database
- C Programming Exercises, Practice, Solution : Recursion