Programming 101

Published: 10/13/2014

Smart devices today can do so many great things. They are integrated in all areas of modern life. Bored at an event? Stream a video of your favorite show or movie. Urgent data needing to be delivered? Send a text, email, or your own voice with the message. Worried about alien invasions or the zombie apocalypse? Practice defeating them early by playing one of the millions of video games currently available. Ever wondered how your computer, tablet, or phone works?

All the data processed by non-quantum smart devices today breaks down to binary data. Binary data is composed of the base-2 number system, meaning everything can only be represented by a "0" or a "1." The term that describes one of these numbers is a "bit," which is short for binary-digit. To make it easier to understand the binary data, we group bits into packages called "bytes," which usually consist of 8 bits, and "nybbles" that consist of half a byte. Now we have the data packaged and ready to be counted using binary mathematics. Simply put, it counts the bits in the byte from right to left, adding the bit values after each bit that is set to "1" is multiplied by the power of its counted spot, e.g., the first bit can have a value of 2^0, which is 1, and the second value can have a value of 2^1, which is 2, and so on. Adding the data can give us a clue as to what the data represents, but to really know what it is, we need to know the encoding of the data.

All data needs to be represented by binary numbers, but not every language around the world shares the same alphabet, characters, or symbols. We need to declare which encoding the data is so the program knows how to read it. Needless to say, there are way too many file encodings to list, but there are some similarities between them. Most file encodings reserve the same characters across the board for number values between 0-127, which are usually print control characters, the English alphabet, numbers 0-9, and some grammar and symbols, but after value 127 all bets are off. Each encoding can have completely different value systems, and if you have ever opened a file and thought it looked like alien hieroglyphics, you may have opened a file with the wrong encoding. Once the program knows the file encoding, the data can be displayed accurately. This is how millions of 1s and 0s can be turned into all of the amazing things we use on our smart devices.


Author: Chris Durfee
Position: Developer
Chris Durfee attended Utah Valley University and has been working in development for six years. He believes that now is an exhilarating time to work in development as we are always developing new software to engage more users than ever before. Chris is one of our leading developers and has worked on exciting projects like the Business Promotion Appointment Reminder System and our new corporate website, which can be found at

comments powered by Disqus