Programming in C and Java to convert from octal to decimal

By | June 18, 2020

Here in this article, we have provided Java and C source codes, that ask the user to enter a number in decimal and convert it to the Decimal number system.

Example:

Vamware
Input: Octal: 011
Output: Decimal: 9

Input: Octal: 20
Output: Decimal: 16

Input : Octal: 40
Output: Decimal: 32

 

Octal Number System:

Octal number system has a base of 8 and it represents its number using 0 to 7.

Decimal Number System:

In decimal number system we have 10 digits 0 to 9 to represent a number.

 

Logic: Octal to Decimal:

There is an easy logic to convert an Octal number to Decimal.

  • Take an octal number which must be a combination of numbers including [0-7].
let's take an octal number
75

  • Extract the number from left to right digit by digit.
Extract 75 from left to right.
7 and 5.

  • Multiply the extracted numbers with 8 to the power of number unit.
7 is at 1st position so it would be multiplied with 8^1
5 is at 0 position so it would be multiplied with 8^0
7 * (81)=56  and 5 * (80)=5
  • Now add them all.
56 + 5 =61

Another example:

 

Octal                       134
                          /  |  \
                         /   |   \
                        1    3    4
                      /      |     \
                     /       |      \
                 1*(82) + 3*(81) + 4*(80)  
                     \       |      /
                      \      |     /
                       64 + 24  + 4 
                        \    |   /
                         \   |  /
Decimal                     92                       

Octal to Decimal:

Java:

import java.io.*; 
import java.util.Scanner;
import java.lang.Math;

class Tech { 
 //Conversion method
 static int oct_to_dec(int n) 
 { 
    int dec_num = 0;

    // The unit value is 0 for the last digit
    int unit = 0; 

    int temp = n; 
    int digit;
   
    while (temp > 0) { 
       
      // Extract the Octal number from last digit
       digit = temp % 10; 
       temp = temp / 10; 
       
       //multiply the digit with 8 to the power base unit
       dec_num += digit * Math.pow(8, unit); 
       unit = unit +1; 
    } 
    return dec_num; 
} 

public static void main(String[] args) 
{ 
    Scanner sc= new Scanner(System.in); 
    System.out.print("Octal: "); 
    int num= sc.nextInt();

    System.out.println("Decimal: "+oct_to_dec(num)); 
    } 
}

Output:

Octal: 1575
Decimal: 893

 

C:

using namespace std; 
   
#include<stdio.h>
#include<math.h>
int oct_to_dec(int n) 
    { 
      
        int dec_num = 0; 

        // The unit value is 0 for the last digit
        int unit = 0; 
  
        int temp = n; 
        int digit;
        while (temp > 0) { 
            // Extract the Octal number from last digit
            
            digit = temp % 10; 
            temp = temp / 10; 
  
            //multiply the digit with 8 to the power base unit
            dec_num += digit * pow(8, unit); 
            unit = unit +1; 
        } 
        return dec_num; 
    } 

int main()    
{
    int n;
    printf("Octal:");
   scanf("%d", &n);
   printf("Decimal:%d ",oct_to_dec(n));
return 0;
}

Output:

Octal:2345
Decimal:1253

 

Python:

def oct_to_dec(n):
	dec_num =0
	unit =0
	temp =n
    
	while(temp>0):
		digit = temp%10
		temp =temp//10
		dec_num+=digit*pow(8,unit)
		unit+=1
	return dec_num


n= int(input("Octal: "))
print("Decimal:", oct_to_dec(n))

Output:

Octal: 23456
Decimal: 10030

 

Leave a Reply

Your email address will not be published. Required fields are marked *