CTechnotips: conversion from decimal to octal in c language


Octal number system: It is base 8 number system which uses the digits from 0 to 7.

Decimal number system:
It is base 10 number system which uses the digits from 0 to 9

Decimal to octal conversion method:

Step 1: Divide the original decimal number by 8
Step 2: Divide the quotient by 8
Step3: Repeat the step 2 until we get quotient equal to zero.

Result octal number would be remainders of each step in the reverse order.

Decimal to octal conversion with example:

For example we want to convert decimal number 525 in the octal.

Step 1:  525 / 8  Remainder : 5 , Quotient : 65
Step 2:   65 / 8  Remainder : 1 , Quotient : 8
Step 3:    8 / 8  Remainder : 0 , Quotient : 1
Step 4:    1 / 8  Remainder : 1 , Quotient : 0

So equivalent octal number is: 1015
That is (525)10 = (1015)8


1. C code for decimal to octal converter

#include<stdio.h>

int main(){


  long int decimalNumber,remainder,quotient;
  int octalNumber[100],i=1,j;

  printf("Enter any decimal number: ");
  scanf("%ld",&decimalNumber);

  quotient = decimalNumber;

  while(quotient!=0){
      octalNumber[i++]= quotient % 8;
      quotient = quotient / 8;
  }

  printf("Equivalent octal value of decimal number %d: ",decimalNumber);
  for(j = i -1 ;j> 0;j--)
      printf("%d",octalNumber[j]);

  return 0;
}

Sample output:

Enter any decimal number: 50
Equivalent octal value of decimal number 50: 62


2. Easy way to convert decimal number to octal number in c

#include<stdio.h>
int main(){

  long int decimalNumber;

  printf("Enter any decimal number : ");
  scanf("%d",&decimalNumber);

  printf("Equivalent octal number is: %o",decimalNumber);

  return 0;
}

Sample output:

Enter any decimal number: 25
Equivalent octal number is: 31

0 comments:

Post a Comment