Back to: C#.NET Programs and Algorithms

**Binary to Octal Conversion in C# with Examples**

In this article, I am going to discuss **Binary to Octal Conversion in C# **with Examples. At the end of this article, you will understand, what are Binary and Octal Number Systems are and how to convert a Binary Number into its equivalent Octal Number using C#.

**What is Binary Number System?**

The binary numeral system uses the number 2 as its base (radix). As a base-2 numeral system, it consists of only two numbers 0 and 1. The binary number system is the way to represent the number in computer architecture. Example: (101101)_{2}

**What is Octal Number System?**

The octal numeral system or oct is the base-8 number system and uses the digits 0 to 7. Octal numerals can be made from binary numerals by grouping consecutive binary digits into groups of three (starting from the right). Example: (5303)_{8}

**How to Convert Binary to Octal?**

Convert (1010111)_{2} to its equivalent octal number.

Given binary number is (1010111)_{2}

Group all the digits in sets of three starting from the right-hand side. Add zeros to the left of the last digit if there aren’t enough digits to make a set of three. So, in our example, the binary becomes the following three sets.

001 010 111

Use a conversion table to convert each set of three into an octal digit. In this case, 001=1, 010=2, 111=7. So, the number is (127)8 which is the octal equivalent to 1010111 in binary.

**Logic to Convert Binary to Octal in C# **

To find the conversion of binary to octal number simply need to follow the below steps

- First, we take the binary number.
- Then divide the binary digits into groups of 3 binary digits. Add zeros to the left of the last digit if there aren’t enough digits to make a set of three.
- Then Convert each group of three binary digits to one octal digit.
- Then store the number which is nothing but an octal number.

For better understanding, please have a look at the below diagram.

**Example: Binary to Octal Conversion in C# **

The following C# Program will convert a binary number to its equivalent octal number.

using System; public class Binary_Octal { public static void Main() { long Temp, BinaryNumber, p = 1, i = 1, j, d; long DecimalNo = 0; long OctalNo = 0; Console.Write("Input a binary number :"); BinaryNumber = Convert.ToInt32(Console.ReadLine()); Temp = BinaryNumber; for (j = BinaryNumber; j > 0; j = j / 10) { d = j % 10; if (i == 1) p = p * 1; else p = p * 2; DecimalNo = DecimalNo + (d * p); i++; } i = 1; for (j = DecimalNo; j > 0; j = j / 8) { OctalNo = OctalNo + (j % 8) * i; i = i * 10; BinaryNumber = BinaryNumber / 8; } Console.Write("\nThe Binary Number : {0}\nThe equivalent Octal Number is : {1} \n\n", Temp, OctalNo); Console.ReadKey(); } }

**Output:**

**C# Code (Using function) **

In the below example, we have created one method to convert the binary number to its equivalent octal number.

using System; public class Binary_Octal { public static void Main() { long Temp, BinaryNumber; long DecimalNo = 0; long OctalNo = 0; Console.Write("Input a binary number :"); BinaryNumber = Convert.ToInt32(Console.ReadLine()); Temp = BinaryNumber; BinaryToOctal(ref BinaryNumber, ref DecimalNo, ref OctalNo); Console.Write("\nThe Binary Number : {0}\nThe equivalent Octal Number is : {1} \n\n", Temp, OctalNo); Console.ReadKey(); } private static void BinaryToOctal(ref long BinaryNumber, ref long DecimalNo, ref long OctalNo) { long p = 1, i = 1, j, d; for (j = BinaryNumber; j > 0; j = j / 10) { d = j % 10; if (i == 1) p = p * 1; else p = p * 2; DecimalNo = DecimalNo + (d * p); i++; } i = 1; for (j = DecimalNo; j > 0; j = j / 8) { OctalNo = OctalNo + (j % 8) * i; i = i * 10; BinaryNumber = BinaryNumber / 8; } } }

**Output:**

In the next article, I am going to discuss **Decimal to Octal Conversion in C#** with Examples. Here, in this article, I try to explain **how to convert binary number to octal number in C**# with Examples and I hope you enjoy this Binary to Octal Conversion in C# article.

**About the Author: Pranaya Rout**

Pranaya Rout has published more than 3,000 articles in his 11-year career. Pranaya Rout has very good experience with Microsoft Technologies, Including C#, VB, ASP.NET MVC, ASP.NET Web API, EF, EF Core, ADO.NET, LINQ, SQL Server, MYSQL, Oracle, ASP.NET Core, Cloud Computing, Microservices, Design Patterns and still learning new technologies.