Reading Journal Week 1 - echadbourne/ChadbourneSYS-140 GitHub Wiki

Article 1: Number Systems - Decimal, Binary, Octal and Hexadecimal

Part 1: The article went over the basics of how different number systems work, including examples of Decimal, Binary, Octal and Hexadecimal systems to illustrate the rules of creating a number system. Included were the meaning of a base - essentially the number of symbols or digits used in the system, like 0-9 - and the basic idea of how a number system with a base works. The way I understood it, the general idea with number systems is you count up to the number just before the base (in a decimal system this would be the number 9, since the base is 10) then, once you have run out of symbols, you change that 9 into a 0 and put a 1 to the left of it. Then you keep going up on the right, and when you run out of symbols again you add 1 to the symbol just to the left, and keep going on the right. When you run out of symbols on the left. You reset that to 0, and add a 1 to the left of that. This continues on. The only thing that changes with the different bases is when you run out of symbols. So with an octal system, you stop a 7, and with a binary system you stop at 1.

Included is an example of what each of the places mean in a binary system

For comparison, here is a similar graphic for the decimal system

And finally, included is examples of the same numbers in different bases:

For the non-decimal bases, you can multiply each number by what their place in the number is (shown in some of the images above) and add them together to get their decimal counterparts.

Part 2: So for this article, it really felt like a light went on in my head. Understanding how number systems in general work really helped my understanding of how bases relate and how they work, because last semester nobody really spelled out how this is supposed to work, and how you are supposed to convert it back once it is converted. Yet we still needed to know and understand it. Seeing it explained the way it was, then rewording it into my own words really helped me. I got to the paragraph that explained that, and went “Oooooohh okay! That makes sense!” and after that I could run through the examples pretty easily.

Article 2: Hexadecimal Notation

Part 1: This article explained how Hexadecimal, or a number system in base 16, works. Symbols for this number system include numbers 0-9, and also the letters A-F which represent the numbers 10-15. The letter symbols can be written in either uppercase or lowercase, and coding languages like Java or C use the symbol 0X or 0X in front of the number to show that it is a hexadecimal number The article also went over how to convert a hexadecimal number to binary. The way it seemed to work was you separate the symbols of the number out, convert them individually to binary, then put them back together into one long string. The example below shows how to convert the number 0X39A7F8 into the binary number 001110011010011111111000.

A similar method can be used to convert a binary number to hexadecimal. You would just have to group the numbers into groups of 4, and if the number of symbols is not divisible by 4 you can add 0s as padding to the left. An example of this is shown below.

This was a little confusing to me, but made more sense when I worked through it in my head.

Part 2: This was pretty straightforward in relation to the article I already read, however I was at first confused with the section regarding converting a binary number to hexadecimal. Once I actually worked through the problem in my head, it made more sense. Considering this information is similar to that of the article before, It was not super groundbreaking to me, but still useful nonetheless.

Article 3: Signed and Unsigned Numbers

The article introduces the idea of signed and unsigned numbers. A binary number has a most significant bit and a least significant bit, as shown by the photo below:

The most significant bit is called the sign bit, and the way I understand it is if the sign bit is 1 the overall number is negative, and when it is 0 the overall number is positive (therefore the example above would be positive). This is called two’s complement encoding.

A “word” is a binary number that can hold a certain amount of information. The binary number above is an example of a 32 bit word. Zero extension is adding more zeros to the left of a binary number to make it a different size word. For example if we wanted to turn a 16-bit word into a 32-bit word, we would just add 16 zeros to the left of it. To convert a signed number (or a two’s complement number) with a certain amount of bits to one with more bits, you can invert every bit of the number to its opposite (0s to 1s, 1s to 0s) and add 1 to the result, then do the zero extension mentioned above to convert it to a different bit size. (I don’t totally understand this???)

Part 2: At first the concept of a “word” was really confusing to me. Then I started to explain it to some of my friends out loud, who are not in the ITS division, and it really helped me understand it better. It sounded simpler when I spoke it out loud. I had also never heard of two’s complement encoding, and again when I explained it to my friends, it suddenly made more sense and seemed really simple. I still don’t know that I totally understand two’s complement encoding, but it makes more sense to me than nothing.

Video: Binary Numbers and Base Systems As Fast As Possible

Part 1: Positional Notation is using the same symbols over and over again to represent larger numbers. All of the bases work with the same Positional Notation principle, as soon as you run out of symbols on the right, you add a one on the left, and go from there (until you run out of symbols again, in which case you repeat the step already mentioned). Alphanumeric is using letters as symbols in place of numbers that are two digits in the decimal system. For example, A=10 and B=11. This is often done in base 16.

Part 2: All of the information about how number systems and bases work was pretty straightforward and a repeat of what was said in the first article, however it was nice to see some of the visualizations that were used in the video in addition to what I had seen before. I had no idea that the numbers and characters in links actually represented a number. It makes sense now, but it was something I had never thought of before.