**Introduction**

In most cases when working in Powershell, you may run across raw computer language or occasionally some binary. As we all know, binary comes in sequences of 1′s and 0′s which for us can be very hard to interpret. Thankfully there is a way to manipulate Binary in Powershell to help you along the way. In most cases, you would need to convert your numbers into binary, or vice versa, in order to work with the individual bits of a number. Let's give it a try.

**The connection to binary**

Let's say we have a number like **1234** that we would like to view the
binary version of. Unfortunately, we cannot just input our number and have
the computer return what it interprets. There is a connecting language
between our numbers and the computer's binary. That number is the **Hexadecimal number**. Without going into to much detail, each
Hexadecimal number within a string holds a byte of information that
translates into binary. So how do we turn our number into a Hexadecimal?
Simple. By adding a **0x** in front of our number. Let's try.

**Example**

PS > $hexNumber=0x1234 //Our stored variable
//enter our named variable and get the output
PS > $hexNumber
4660

As you can see, by simply placing a **0x** in front of our number, the
computer interprets that number as a hexadecimal value. Take note that you
do not have to type in **PS >**. We simply placed that in so you know
the beginning line of code that you must input.

**Getting the Binary Value**

Since we have a number that the computer can understand as stored
information instead of just an integer value, it's time to tell the
computer to convert our number into a binary number. We will tell the
computer to do so by a set of CMDLets to Convert the number into a String
and supply it a base of two within the parameters. Let's try our number **1234** (aka hexadecimal 4660) for this example.

**Example**

PS > [Convert]::ToString(1234,2) //Our stored variable
//Computer Output
10011010010

What if Powershell gives us a binary but we need the hexadecimal value. Let's try this method.

**Example**

PS > [Convert]::ToInt32("10011010010",2) //Our stored variable
//Computer Output
1234

The computer outputted the hexadecimal value 1234. It's as easy as that.

**Why does this matter?**

The best example of how converting these numbers can help you is invoking a
Pozwershell command that gives you a files attributes. Sometime the
computer might give you a value like **16417** or **12345 **when you
request a files attributes. What it is really doing is going through a
table with the file attributes and writing True (or 1) or False (or 0) for
each attribute. This would give the computer a binary sequence which then
translates into a hexadecimal. With that hexadecimal number, you yourself
can see from the attributes list what is set to true or false.

**Wrapping It Up**

Powershell is a great shell command program that will help you administer your computer and servers. If you ever come across and unusual number in your Powershell projects, test out converting it to binary and see if there is a table it is comparing the sequence to and you will most likely find your answer.