# How to Read Binary Code Like a Pro

Reading a binary code is not as difficult as it seems to be. With a little bit of practice, you will be able to master this skill.

Swati Takale

Last Updated: Jun 2, 2018

Fast Fact

If the last digit of a binary number is

**1**, the number is**odd**; if it is**0**, the number is**even**.**0**indicates the

**OFF**state, whereas

**1**indicates the

**ON**state of an electrical signal. Here, we will learn how a computer decodes binary data into human-readable form.

How to Read Binary Code Text

Computers only understand the numerical 'binary' language. Then how is it possible that they can interpret alphabets and other characters too? The answer lies in the fact that every character, including alphabets and non-alphabetic characters like space, +, ×, etc., and numeric text 0 - 9, is internally represented with a numerical value known as the 'ASCII' value. ASCII stands for American Standard Code for Information Interchange. Now, once the computer is aware which number is associated with a particular alphabet/character, it can easily manipulate the data after converting it into binary format. The following table depicts the ASCII value and its associated binary code for letters 'A - Z' and 'a - z'.

**Uppercase Alphabets**

**Lowercase Alphabets**

Letter |
ASCII Value |
Binary |

A |
65 |
01000001 |

B |
66 |
01000010 |

C |
67 |
01000011 |

D |
68 |
01000100 |

E |
69 |
01000101 |

F |
70 |
01000110 |

G |
71 |
01000111 |

H |
72 |
01001000 |

I |
73 |
01001001 |

J |
74 |
01001010 |

K |
75 |
01001011 |

L |
76 |
01001100 |

M |
77 |
01001101 |

N |
78 |
01001110 |

O |
79 |
01001111 |

P |
80 |
01010000 |

Q |
81 |
01010001 |

R |
82 |
01010010 |

S |
83 |
01010011 |

T |
84 |
01010100 |

U |
85 |
01010101 |

V |
86 |
01010110 |

W |
87 |
01010111 |

X |
88 |
01011000 |

Y |
89 |
01011001 |

Z |
90 |
01011010 |

Letter |
ASCII Value |
Binary |

a |
97 |
01100001 |

b |
98 |
01100010 |

c |
99 |
01100011 |

d |
100 |
01100100 |

e |
101 |
01100101 |

f |
102 |
01100110 |

g |
103 |
01100111 |

h |
104 |
01101000 |

i |
105 |
01101001 |

j |
106 |
01101010 |

k |
107 |
01101011 |

l |
108 |
01101100 |

m |
109 |
01101101 |

n |
110 |
01101110 |

o |
111 |
01101111 |

p |
112 |
01110000 |

q |
113 |
01110001 |

r |
114 |
01110010 |

s |
115 |
01110011 |

t |
116 |
01110100 |

u |
117 |
01110101 |

v |
118 |
01110110 |

w |
119 |
01110111 |

x |
120 |
01111000 |

y |
121 |
01111001 |

z |
122 |
01111010 |

Let us see how to read binary code alphabets and letters with examples.

Example #1

**Question**: Decode the binary string

**01001001**

_{2}

**Answer**: Begin decoding from right to left.

01001001

_{2}=

**1**× 2

^{0}+

**0**× 2

^{1}+

**0**× 2

^{2}+

**1**× 2

^{3}+

**0**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 1 + 0 + 0 + 8 + 0 + 0 + 64 + 0 =

**73**, which is the ASCII equivalent of

**I**

Example #2

**Question**: Decode the binary string

**01100111**

_{2}

**Answer**: Begin decoding from right to left.

01100111

_{2}=

**1**× 2

^{0}+

**1**× 2

^{1}+

**1**× 2

^{2}+

**0**× 2

^{3}+

**0**× 2

^{4}+

**1**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 1 + 2 + 4 + 0 + 0 + 32 + 64 + 0 =

**103**, which is the ASCII equivalent of

**g**

Example #3

**Question**: Decode the binary string

**00110100**

_{2}

**Answer**: Begin decoding from right to left.

00110100

_{2}=

**0**× 2

^{0}+

**0**× 2

^{1}+

**1**× 2

^{2}+

**0**× 2

^{3}+

**1**× 2

^{4}+

**1**× 2

^{5}+

**0**× 2

^{6}+

**0**× 2

^{7}

= 0 + 0 + 4 + 0 + 16 + 32 + 0 + 0 =

**52**, which is the ASCII equivalent of

**4**

Example #4

**Question**: Decode the binary string

**01001001 00100000 01001100 01001111 01010110 01000101 00100000 01000010 01010101 01011010 01011010 01001100 01000101**

_{2}

Note

^{*}: The ASCII value of space is

**32**and its associated binary string is 01001100

_{2}

**Answer**: From Example #1, #2, and #3, we now know how to decode single binary code character. Using the same logic, we will find the ASCII numbers of every 8 bit string. So, the decoding will proceed as follows:

01001001

_{2}=

**1**× 2

^{0}+

**0**× 2

^{1}+

**0**× 2

^{2}+

**1**× 2

^{3}+

**0**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 1 + 0 + 0 + 8 + 0 + 0 + 64 + 0 =

**73**, which is the ASCII equivalent of

**I**

00100000

_{2}=

**32**, which is the ASCII equivalent of

**space**

01001100

_{2}=

**0**× 2

^{0}+

**0**× 2

^{1}+

**1**× 2

^{2}+

**1**× 2

^{3}+

**0**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 0 + 0 + 4 + 8 + 0 + 0 + 64 + 0 =

**76**, which is the ASCII equivalent of

**L**

01001111

_{2}=

**1**× 2

^{0}+

**1**× 2

^{1}+

**1**× 2

^{2}+

**1**× 2

^{3}+

**0**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 1 + 2 + 4 + 8 + 0 + 0 + 64 + 0 =

**79**, which is the ASCII equivalent of

**O**

01010110

_{2}=

**0**× 2

^{0}+

**1**× 2

^{1}+

**1**× 2

^{2}+

**0**× 2

^{3}+

**1**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 0 + 2 + 4 + 0 + 16 + 0 + 64 + 0 =

**86**, which is the ASCII equivalent of

**V**

01000101

_{2}

=

= 1 + 0 + 4 + 0 + 0 + 0 + 64 + 0 =

**1**× 2^{0}+**0**× 2^{1}+**1**× 2^{2}+**0**× 2^{3}+**0**× 2^{4}+**0**× 2^{5}+**1**× 2^{6}+**0**× 2^{7}= 1 + 0 + 4 + 0 + 0 + 0 + 64 + 0 =

**69**, which is the ASCII equivalent of**E**00100000

_{2}=

**32**, which is the ASCII equivalent of

**space**

01000010

_{2}=

**0**× 2

^{0}+

**1**× 2

^{1}+

**0**× 2

^{2}+

**0**× 2

^{3}+

**0**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 1 + 0 + 0 + 0 + 0 + 0 + 64 + 0 =

**65**, which is the ASCII equivalent of

**B**

01010101

_{2}=

**1**× 2

^{0}+

**0**× 2

^{1}+

**1**× 2

^{2}+

**0**× 2

^{3}+

**1**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 1 + 0 + 4 + 0 + 16 + 0 + 64 + 0 =

**85**, which is the ASCII equivalent of

**U**

01011010

_{2}=

**0**× 2

^{0}+

**1**× 2

^{1}+

**0**× 2

^{2}+

**1**× 2

^{3}+

**1**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 0 + 2 + 0 + 8 + 16 + 0 + 64 + 0 =

**90**, which is the ASCII equivalent of

**Z**

01011010

_{2}=

**0**× 2

^{0}+

**1**× 2

^{1}+

**0**× 2

^{2}+

**1**× 2

^{3}+

**1**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 0 + 2 + 0 + 8 + 16 + 0 + 64 + 0 =

**90**, which is the ASCII equivalent of

**Z**

01001100

_{2}=

**0**× 2

^{0}+

**0**× 2

^{1}+

**1**× 2

^{2}+

**1**× 2

^{3}+

**0**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 0 + 0 + 4 + 8 + 0 + 0 + 64 + 0 =

**76**, which is the ASCII equivalent of

**L**

01000101

_{2}=

**1**× 2

^{0}+

**0**× 2

^{1}+

**1**× 2

^{2}+

**0**× 2

^{3}+

**0**× 2

^{4}+

**0**× 2

^{5}+

**1**× 2

^{6}+

**0**× 2

^{7}

= 1 + 0 + 4 + 0 + 0 + 0 + 64 + 0 =

**69**, which is the ASCII equivalent of

**E**

The final decoded output is,

**I LOVE BUZZLE**

How to Read Binary Code Numbers

Example

**Question**: Decode the binary string

**00110100**

_{2}

**Answer**: Begin decoding from right to left.

00110100

_{2}=

**0**× 2

^{0}+

**0**× 2

^{1}+

**1**× 2

^{2}+

**0**× 2

^{3}+

**1**× 2

^{4}+

**1**× 2

^{5}+

**0**× 2

^{6}+

**0**× 2

^{7}

= 0 + 0 + 4 + 0 + 16 + 32 + 0 + 0 =

**52**

How to Read a Binary Clock

The decimal value of each column depends upon the position of light which is 'on'. Starting from the bottom and moving upwards, the values are calculated by '2 raised to the power of the row number'. Note that the row number begins from '0'. The value of every row in a column where the light is 'on' would be as follows:

**0**2

^{th}row:^{0}= 1

**1**2

^{st}row:^{1}= 2

**2**2

^{nd}row:^{2}= 4

**3**2

^{rd}row:^{3}= 8

If more than one light is 'on' in a particular column, then the final value would be the sum of all individual values of the rows in that column. Also, note that the value will be '0' if the light bulb is 'off'. The following illustration will help you understand the concept better.

Example

**Question**: Find the time represented by the given binary clock.

**Answer**:

The values are calculated from left to right.

Value of 1

^{st}column = 2

^{1}= 2

Value of 2

^{nd}column = 0 (no light bulb is 'on')

Value of 3

^{rd}column = 2

^{1}= 2

Value of 4

^{th}column = 2

^{0}+ 2

^{1}+ 2

^{2}= 1 + 2 + 4 = 7

Value of 5

^{th}column = 2

^{2}= 4

Value of 6

^{th}column = 2

^{0}+ 2

^{1}= 1 + 2 = 3

Therefore, the time is

**20:27:43**