 Open in App
Not now

# Program for Octal to Decimal Conversion

• Difficulty Level : Easy
• Last Updated : 25 Sep, 2022

Given an octal number as input, we need to write a program to convert the given octal number into equivalent decimal number.

Examples:

```Input : 67
Output: 55

Input : 512
Output: 330

Input : 123
Output: 83```

The idea is to extract the digits of a given octal number starting from the rightmost digit and keep a variable dec_value. At the time of extracting digits from the octal number, multiply the digit with the proper base (Power of 8) and add it to the variable dec_value. In the end, the variable dec_value will store the required decimal number.

For Example:

If the octal number is 67.

dec_value = 6*(8^1) + 7*(8^0) = 55

The below diagram explains how to convert an octal number (123) to an equivalent decimal value: Below is the implementation of above idea.

## C++

 `// C++ program to convert octal to decimal``#include ``using` `namespace` `std;` `// Function to convert octal to decimal``int` `octalToDecimal(``int` `n)``{``    ``int` `num = n;``    ``int` `dec_value = 0;` `    ``// Initializing base value to 1, i.e 8^0``    ``int` `base = 1;` `    ``int` `temp = num;``    ``while` `(temp) {` `        ``// Extracting last digit``        ``int` `last_digit = temp % 10;``        ``temp = temp / 10;` `        ``// Multiplying last digit with appropriate``        ``// base value and adding it to dec_value``        ``dec_value += last_digit * base;` `        ``base = base * 8;``    ``}` `    ``return` `dec_value;``}` `// Driver program to test above function``int` `main()``{``    ``int` `num = 67;` `    ``cout << octalToDecimal(num) << endl;``}`

## Java

 `// Java program to convert octal to decimal``import` `java.io.*;` `class` `GFG {` `    ``// Function to convert octal to decimal``    ``static` `int` `octalToDecimal(``int` `n)``    ``{``        ``int` `num = n;``        ``int` `dec_value = ``0``;` `        ``// Initializing base value to 1, i.e 8^0``        ``int` `base = ``1``;` `        ``int` `temp = num;``        ``while` `(temp > ``0``) {``            ``// Extracting last digit``            ``int` `last_digit = temp % ``10``;``            ``temp = temp / ``10``;` `            ``// Multiplying last digit with appropriate``            ``// base value and adding it to dec_value``            ``dec_value += last_digit * base;` `            ``base = base * ``8``;``        ``}``        ``return` `dec_value;``    ``}` `    ``// driver program``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `num = ``67``;``        ``System.out.println(octalToDecimal(num));``    ``}``}` `// This code is contributed``// by Pramod Kumar`

## Python3

 `# Python3 program to convert``# octal to decimal` `# Function to convert``# octal to decimal`  `def` `octalToDecimal(n):` `    ``num ``=` `n``    ``dec_value ``=` `0` `    ``# Initializing base value``    ``# to 1, i.e 8^0``    ``base ``=` `1` `    ``temp ``=` `num``    ``while` `(temp):` `        ``# Extracting last digit``        ``last_digit ``=` `temp ``%` `10``        ``temp ``=` `int``(temp ``/` `10``)` `        ``# Multiplying last digit``        ``# with appropriate base``        ``# value and adding it``        ``# to dec_value``        ``dec_value ``+``=` `last_digit ``*` `base` `        ``base ``=` `base ``*` `8` `    ``return` `dec_value`  `# Driver Code``num ``=` `67``print``(octalToDecimal(num))` `# This code is contributed by mits`

## C#

 `// C# program to convert octal to``// decimal``using` `System;` `class` `GFG {` `    ``// Function to convert octal``    ``// to decimal``    ``static` `int` `octalToDecimal(``int` `n)``    ``{``        ``int` `num = n;``        ``int` `dec_value = 0;` `        ``// Initializing base value``        ``// to 1, i.e 8^0``        ``int` `b_ase = 1;` `        ``int` `temp = num;``        ``while` `(temp > 0) {` `            ``// Extracting last digit``            ``int` `last_digit = temp % 10;``            ``temp = temp / 10;` `            ``// Multiplying last digit``            ``// with appropriate base``            ``// value and adding it to``            ``// dec_value``            ``dec_value += last_digit * b_ase;` `            ``b_ase = b_ase * 8;``        ``}``        ``return` `dec_value;``    ``}` `    ``// driver program``    ``public` `static` `void` `Main()``    ``{``        ``int` `num = 67;` `        ``Console.WriteLine(octalToDecimal(num));``    ``}``}` `// This code is contributed by vt_m.`

## PHP

 ``

## Javascript

 ``

Output

`55`

Time complexity: O(logN) where N is the given number
Auxiliary space: O(1)

Using predefined function

## C++

 `// C++ program to convert octal to decimal``#include ``using` `namespace` `std;``int` `OctToDec(string n)``{``  ``return` `stoi(n, 0, 8);``}``int` `main()``{` `  ``string n = ``"67"``;``  ``cout << OctToDec(n);``  ``return` `0;``}` `// This code is contributed by phasing17`

## Java

 `// Java program to convert octal to decimal``import` `java.io.*;` `class` `GFG {``    ``public` `static` `int` `OctToDec(String n)``    ``{``        ``return` `Integer.parseInt(n, ``8``);``    ``}``    ``public` `static` `void` `main(String[] args)``    ``{` `        ``String n = ``"67"``;``        ``System.out.println(OctToDec(n));``    ``}``}`

## Python3

 `# Python program to convert octal to decimal``def` `OctToDec(n):``    ``return` `int``(n, ``8``);` `if` `__name__ ``=``=` `'__main__'``:` `    ``n ``=` `"67"``;``    ``print``(OctToDec(n));``    ` `# This code is contributed by 29AjayKumar`

## C#

 `using` `System;` `public` `class` `GFG{``    ` `    ``public` `static` `int` `OctToDec(String n)``    ``{``        ``return` `Convert.ToInt32(n, 8);``    ``}``    ` `    ``static` `public` `void` `Main (){``        ` `        ``string` `n = ``"67"``;``        ``Console.WriteLine(OctToDec(n));``    ``}``}` `// THIS CODE IS CONTRIBUTED BY RAG2127`

## Javascript

 ``

Output

`55`

This article is contributed by Harsh Agarwal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.