Pinterest Stumbleupon Whatsapp

what is binary codeGiven that binary is so absolutely fundamental to the existence of computers, it seems odd that we’ve never tackled the topic before – so today I’d thought I’d give a brief overview of what binary actually means and how it’s used in computers. If you’ve always wondered what the difference is between 8-bit, 32-bit, and 64-bit really is, and why it matters –  then read on!

What is binary? The difference between Base 10 and Base 2

Most of us have grown up in a base 10 world of numbers, by which I mean we have 10 ‘base’ numbers (0-9) from which we derive all other numbers. Once we’ve exhausted those, we move up a unit level – 10’s, 100’s, 1000’s – this form of counting is hammered into our brains from birth. In actual fact, it was only from the Roman period that we started counting in base 10. Before that, base 12 was the easiest, and people used their knuckles to count.

When we learn base 10 in elementary school, we often write out the units like this:

what is binary code

So the number 1990 actually consists of 1 x 1000, 9 x 100, 9 x 10, and 0 x 1. I’m sure I don’t need to explain base 10 any further than that.

But what if instead of having a full selection of 0,1,2,3,4,5,6,7,8,9 to work with as the base numbers – what if we only had 0, and 1. This is called base 2; and it’s also commonly referred to as binary. In a binary world, you can only count 0,1 – then you need to move to the next unit level.


Counting in Binary

It helps immensely if we write out the units when learning binary. In this case, instead of each additional unit being multiplied by 10, it’s multiplied by 2, giving us 1,2,4,8,16,32,64 … So to help calculate, we can write them out like this:

what is binary

In other words, the right-most value in a binary number represents how many 1’s. The next digit, to the left of that, represent how many 2’s. The next represents how many 4’s… and so.

With that knowledge, we can write out a table of counting in binary, with the equivalent base 10 value indicated on the left.

what is binary code

Spend a moment going over that until you can see exactly why 25 is written as 11001. You should be able to break it down as being 16+8+1 = 25.

Working backwards – base 10 to binary

You should now be able to figure out what value a binary number has by drawing a similar table and multiplying each unit. To switch a regular base 10 number to binary takes a little more effort. The first step is to find the largest binary unit that “fits into” the number. So for example, if we were doing 35, then the largest number from that table that fits into 35 is 32, so we would have a 1 there in that column. We then have a remainder of 3 – which would need a 2, and then finally a 1. So we get 100011.

8-bits, Bytes, and Octets

The table I’ve shown above is 8-bit, because we have a maximum of 8 zeroes and ones to use for our binary number. Thus, the maximum number we can possibly represent is 11111111,  or 255. This is why in order to represent any number from 0-255, we need at least 8-bits. Octet and Byte is simply another way of saying 8-bits. Therefore 1 Byte = 8 bits.

32 vs 64-bit Computing

Nowadays you often hear the terms 32-bit and 64-bit versions of Windows, and you may know that 32-bit Windows can only support up to 4 gigabytes of RAM. Why is that though?

It all comes down to memory addressing. Each bit of memory needs a unique address in order to access it. If we had an 8-bit memory addressing system, we would only be able to have a maximum of 256 bytes of memory. With a 32-bit memory addressing system (imagine extending the table above to have 32 binary unit columns), we can go anywhere up to 4,294,967,296 ? 4 billion bytes, or in other words – 4 GIGAbytes. 64-bit computing essentially removes this limit by giving us up to 18 quintillion different addresses – a number most of us simply can’t fathom.

IPv4 Addressing

The latest worry in the computing world is all about IP addresses IPv6 & The Coming ARPAgeddon [Technology Explained] IPv6 & The Coming ARPAgeddon [Technology Explained] Read More , in particular IPv4 addresses, like these:


They actually consist of 4 numbers, each representing a value up to 255. Can you guess why? Yep, the whole address is represented by 4 octets (32 bits in total). This seemed like an awful lot of possible addresses (around 4 billion in fact) at the time the internet was first invented, but we’re rapidly running out now that everything in our life needs to be connected. To solve this, the new IPv6 uses 128 bits in total, giving us approximately 340 undecillion (put 38 zeroes on the end) addresses to play with.

I’m going to leave it there for today, so I can get back to my original aim which was to write the next Arduino tutorial – in which we make extensive use of a bit-shift register. I hope today has given you a basic understanding of how binary is so significant to computers, why the same numbers keep appearing, and why the number of bits we have to represent something places a finite limit on amount of memory, screen size, possible color values, or unique IP addresses available to us. Next time, we’ll take a look at binary logic calculations, which is pretty much all a computer processor does, as well how computers can represent negative numbers.

Comments? Confusion? Did you find my explanation easy to understand? Whatever the case, please get in touch in the comments. I shall leave you with a binary joke!

There are only 10 types of people in the world: those who understand binary, and those who don’t.

Image credit: Shutterstock

Leave a Reply

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

  1. Deangelo
    September 17, 2017 at 6:22 pm

    Will be there something called as cat mario unblocked?
    Obviously, many sites usually do not present no cost premises to users to try
    out this online game. Within the sense, the video game is just not totally on the
    net and rarely, sure rarely you will find some websites giving and absolutely free and
    finished access to the video game. Furthermore, if you learn one or any, remember
    to allow us to. Now we have been in search of some cat mario unblocked
    app. Anyways, moving on to another one aspect about Cat Mario, we need
    to be frank here just as before and say that play free subway surfers game no age confines.
    Anybody can engage in this video game as well as
    the main purpose than it is to love it whenever possible but while there is nothing called as cat
    mario unblocked, a great deal of your satisfaction removal will hinge following in places you play this game.
    The state web page is the place you can try it out
    but there can be some transaction being created.

    Hey there there! This is among the best online game from Weebly and it's absolutely unblocked!
    Have fun with Cat Mario at school, job or in your house on a daily basis.
    Enjoy yourself!

    Cat Mario 2 , 3 Sport Unblocked Syobon Motion is a two dimensional Japanese base freeware indie game
    released in Feb 2007. This action activity delivers a distinct take on on the list of world’s most widely used video games.
    Head the bright white feline over the Mushroom Empire.

    In lieu of Goombas and Koopas, you will be up against an army of
    icky blobs.

    Help somewhat Cat Mario defeat all issues! In this
    unblocked online game for education, you have to manage your cat
    and also make its way through all discrepant
    places loaded with impediments. Get past each of them, collect
    much more useful objects and attempt your very best to defeat
    all adversaries. Good luck!

  2. Jesenia
    July 28, 2017 at 2:49 am

    Will there be anything called as cat mario unblocked? Evidently, a great deal of internet websites never
    offer free service to people to try out the overall game.

    In the feel, the overall game is just not completely available
    on the net and almost never, without a doubt hardly ever you will discover some internet sites delivering and absolutely
    free and complete accessibility video game.
    In addition, if you learn a single or any, please do allow us to.
    We have now been searching for some cat mario unblocked program.
    Anyways, moving forward to a different one element about
    Cat Mario, we will need to be frank below just as before and express that
    mario cat video no time boundaries. Anybody can enjoy this video game as well as the main purpose of this
    is always to have fun with this whenever
    possible but as there is practically nothing called as cat mario unblocked, lots of your joy removal will hinge on in which you participate in this game.
    The official web-site is where you can try it out but there may be some
    payment to generally be produced.

    Howdy there! This is just about the ideal online
    game from Weebly and it's completely unblocked! Enjoy Cat Mario in school,
    work or at your home everyday. Have a good time!

    Cat Mario 2 , 3 Activity Unblocked Syobon Activity is a 2D
    Japanese software freeware indie game released
    in Feb 2007. This step sport offers a various carry out one of the world’s
    most widely used video gaming. Steer the white cat over the Mushroom
    Empire. Instead of Goombas and Koopas, you will be against an army of icky blobs.

    Assistance a bit Cat Mario conquer all obstacles! In this unblocked match for university, you need to manage your pet cat and
    also make its way via all discrepant places packed with impediments.
    Work through every one of them, assemble far more handy merchandise and attempt the best to overcome all adversaries.
    Good luck!

  3. Pat
    July 3, 2017 at 7:04 pm

    If in 8-bit addressing, the max memory is 256 bytes (i.e, we've got 2^8 =256 possible addresses, each representing/holding 8-bit =octet or byte of number/data), then why in 32-bit addressing, you only say 2^32 bytes? My problem here is about the unit "byte", whereas each memory address in this case should be holding 32 bit (4 bytes) and not just 8 bits (1 byte); so I was expecting a factor of 4 since 32 = 4 bytes (such that in 32-bit addressing, one would think of a max memory size of 2^32 possible addresses x each address size/width (which is 32 bits = 4 bytes). Obviously, this inconsistency is in other sources (e.g for 64-bit addressing , one sees a value of 2^64 bytes as max memory instead of "2^64x8 bytes where 64 = 8x8 bit would be 8bytes)"; so if that is just as you and others put it, what is the rational, since it might otherwise be misleading to see like I do that some bytes are being thrown away, keeping only 1 out of 4 bytes in 32-bit addressing and only 1 out of 8 in 64-bit addressing?

  4. Richard
    May 13, 2016 at 3:14 pm

    11111111 base 2 is 255 base 10, not 256

  5. Tina
    February 1, 2012 at 9:45 pm

    Thank you for sharing this game. Practice is indeed the best way to learn anything.

  6. Vivitech Ltd
    January 26, 2012 at 11:47 am

    This could be improved.

    • Tina
      January 26, 2012 at 7:13 pm


  7. Elijah Swartz
    January 23, 2012 at 1:47 am

    In my earlier days, I was a big fan of Photoshop and digital graphics. I first introduced with this stuff when I was reading up a Photoshop tutorial way back in the day. A common image uses 8 bits/channel and the RBG color mode. A bit depth 8 of would be 256 possible varieties of each color (2 to the 8th power = 256). There are three colors in RBG so you'd have 16777216 (256 to the 3rd power) total colors to choose from in an image. In the histogram you'd see each channel range from 0 (absolute black) to 255 (absolute white). Perhaps you have heard of hex values for a color. For RBG 8 bit color, each color is represented by 6 hex values. There are three colors that determine what each of the 16.7 million colors will look like. Each color is represented by two the hex values. Those two hex values are actually one number. To figure out that number, multiply the first number by the second. For example, F equals 15(total value is 16 starting at 1)and FF would be 255 (or a total value of 256 if starting at 1). The range for each color is 00 (black) to FF (white). 000000 for example would be black because each color is black. FFFFFF would mean that all colors are pure white. If you take ABCDEF, the value for red is AB(171), blue CD(205), and green EF(239). All this may be a little complicated, but seeing it used along side me in Photoshop, that is how I got familiar with binary and hexadecimal.

    How did everyone else first learn about base 2 and base 16?

    • James Bruce
      January 23, 2012 at 8:42 am

      Thanks Elijah. I was going to mention this too actually, but ran out of words, so good input. Much appreciated. 

    • Hamza Al-sayyad
      November 19, 2016 at 4:39 pm

      Can you explain how AB is 171 i can't work it out.

    • Hamza Al-sayyad
      November 19, 2016 at 4:41 pm

      can you explain how AB is 171. please do if you can.

  8. Gillian
    January 13, 2012 at 1:12 am

    Nicely explained!  I've never looked at it before, so this should hold me for a while.

  9. Jeff Fabish
    January 12, 2012 at 5:03 pm

    Teach us Assembly, yah? (:

    • Valentin Uzunov
      January 12, 2012 at 8:24 pm

      I second that please. More on assembly

      • James Bruce
        January 13, 2012 at 10:09 am

        You have got to be kidding me. ...

  10. Scutterman
    January 12, 2012 at 9:10 am

    "Each bit of memory needs a unique address".

    If an 8-bit address system gives 256 bytes, surely that sentence should be "Each byte of memory needs a unique address"?

    • Jeff Fabish
      January 12, 2012 at 5:10 pm

      Each byte of memory has a unique address, addresses don't correspond to bits (if that's what you were trying to say). For larger datatypes such as longs, doubles and containers, this can be a problem as memory isn't always stored sequentially (this is where pointers come in handy). The bits inside the address can be manipulated/read/wrote using an offset calculated by the address and the current index inside the byte (useful for bit shifting).

    • James Bruce
      January 13, 2012 at 10:10 am

      Yes, apologies. I didn't bit as in bit/byte, I meant bit as in "small division of something". Whoops!

  11. Asd
    January 12, 2012 at 5:26 am

    man that's funny :

  12. Mike
    January 12, 2012 at 3:07 am

    Thanks, I enjoyed reading this, and I look forward to reading the next one.  1010 cats are in a boat and 1 jumps out.  How many are left?

    None, they are all copy cats...

  13. Joel Lee
    January 12, 2012 at 3:05 am

    I'm not sure how many MUO readers are tech-illiterate, but this article will definitely prove helpful to them! Nice job.

    I learned about binary back in college for computer science and it took me a while to really grasp the idea. Now it's easy as cake.

  14. Timmy
    January 12, 2012 at 2:12 am

    The table's wrong...

    • James Bruce
      January 12, 2012 at 8:20 am

      Can to elaborate? I don't see a mistake. 

      • ColdEmbrace
        January 12, 2012 at 9:04 am

        11111111 = 255
        100000000 = 256
        but a bit is made up of 8 0/1's
        therefore 256 shouldn't be on the table.

        • ColdEmbrace
          January 12, 2012 at 9:07 am

          Now i've read the article you state 255 = 11111111 and the result for 254 is wrong as well it should be 11111110 not 11111101 if it ends in1 it must be odd :)

        • James Bruce
          January 13, 2012 at 10:12 am

          Yep, youre right. Apologies all!

        • compsci_guy
          January 12, 2012 at 12:14 pm

          Second this. In compsci you begin to from 0, always. With 8 bits you can adress memory from 0 to 255, giving us a total of 256 adresses.

        • Jeff Fabish
          January 12, 2012 at 5:07 pm

          A bit is the smallest unit of measurement. A byte is made up of eight bits, nibble 4 bits, a word 16 bits (processor dependent), dword 32 bits, etc.