This past Thanksgiving, my uncle was visiting from Alaska and we had a long conversation about how a computer works. He is a really, really smart person and used to hand-wrap copper-coiled RAM back when that was the only form of memory. Anyway, he really understands computers, and since I really don't understand how the lower levels of hierarchical computer systems actually function. Most people actually have no idea how a computer works; what goes on inside is complete magic. I asked him to teach me binary and it was a very eye-opening look at just how a computer processes things. Binary's really just a way of expressing numbers that drastically cuts down on the number of characters used, since it only employs two characters and most numbers can be expressed with only four digits. It is then possible to program a computer to recognize certain strings of these number values and interpret them as letter values, which then allows one to create words and therefore programming languages, which then allows one to create operating systems, for which someone can write a program, and so on and so on. It is fascinating to me how one of the most important systems in our daily lives rests on a foundation of two numbers. This is the perfect example of a hierarchical systems: a computer is just a system composed of smaller systems composed of even smaller systems which are ultimately composed of binary code.
Binary works by using four columns. The first on the right represents the "1" column, the second one to the left represents "2", the third over represents "4", and so on; the columns are twice the value of the previous column. In these four columns, you can either insert a 0 or a 1, depending on whether or not you want to express the number represented by that column.
Here's an example:
I want to express the number 7 in binary. I have to get the values of the columns to add up to seven, which would require me to add 1+2+4 since those are the only values represented by the columns that will add up to seven.
0111
(0x8)+(1x4)+(1x2)+(1x1)=7
Here's a pretty good article that explains how it works in more detail. It also has a brief explanation of Hexadecimal, which is another alternative system of expressing numbers that employs letters as well. It is most commonly used for setting color values for web pages, since these colors are expressed with Hexadecimal.
http://www.swansontec.com/binary.html
I am not a technically advanced person and do not really understand computers myself so I found this post really fascinating JJ. Because I didn't understand a lot of the terms in this post (and am a visual learner) I tried to map out the idea of the columns, etc. This did not work for me, at all but I think it is intriguing that on the basis of our different learning styles, I can not understand this concept. Our different learning styles are not always catered to in the education system and I feel as though auditory listeners are always favored. However, with the advancement in technology, visual learners like myself are also being favored with the invention of Powerpoint, etc. How do our different learning styles affect our chances? Our own systems?
ReplyDeleteThis is a really good examle of a hierarchy but I can not understand all of them that you are explaining about. I think this is because I have poor understanding of conputer skills, not because the way you explained. I just thought this system does not look like a hierarchy when it is showed in a column. And if my computer does not work very well, is it because of a trouble with the hierarchy system?
ReplyDeleteThis is neat! I've learned some coding but not much on the binary level. Programmers tend to prefer to use syntaxical and formal languages in which the binary is, um, for lack of a better term pre-encoded. It's really interesting to look at the skeleton of computer programming.
ReplyDeleteFor people who want to learn a little bit of programming in a visual way very easily, study some excel. You can make excel do some really cool things, set up complicated equations and link lots of variables together without any real programming knowledge. It's the same idea as writing an application, but in programming you assign duties to certain values and then write equations that would create those values.
A couple years ago a friend of mine taught me a way to use binary as a way of counting. This may require a show and tell but i'll due my best to explain it here, if you don't get it i will be happy to demonstrate on Monday. Flip your palms towards you and start from right thumb to left thumb number each one the double of the previous, starting with one. With this method on one hand you can count to 31 and with two all the way to 1,023. Sure beats the standard ten.
ReplyDelete