400 likes | 418 Views
Explore number systems, characters, memory units, and conversion methods in computer architecture. Learn about bits, bytes, binary, hexadecimal, decimal, and more in this comprehensive guide.
E N D
CS 3501 - Chapter 2 (1 of 5) Dr. Clincy Professor of CS Note: Do not study chapter 2’s appendix (the topics will be covered in the communications portion of this course) Lecture 2
Chapter 2 Objectives • The architecture of a computer depends on how it represents numbers, characters and control info. • Understand the fundamental concepts of number systems. • Understand the fundamental concepts of floating-point representation. • Gain familiarity with the most popular character codes. • Understand the concepts of error detecting and correcting.
Introduction • A bit is the most basic unit of information in a computer. • Sometimes these states are “high” or “low” voltage or “on” or “off..” • A byte is a group of eight bits. • A byte is the smallest possible addressable unit of computer storage. • A wordis a contiguous group of bytes. • Words can be any number of bits or bytes. • Word sizes of 16, 32, or 64 bits are most common. • In a word-addressable system, a word is the smallest addressable unit of storage. • A group of four bits is called a nibble. • Bytes, therefore, consist of two nibbles: a “high-order nibble,” and a “low-order” nibble.
Positional Numbering SystemsReview – Base 10 Numbers (Decimal) Base-10 The decimal number system is based on power of the base 10. For example, for the number 1259, the 9 is in the 10^0 column - 1s column the 5 is in the 10^1 column - 10s column the 2 is in the 10^2 column - 100s column the 1 is in the 10^3 column - 1000s column 1259 is 9 X 1 = 9 + 5 X 10 = 50 + 2 X 100 = 200 + 1 X 1000 = 1000 ----- 1259 Lecture
Positional Numbering SystemsIntroducing Base 2 (Binary) and Base 16 (Hex) Number Systems Base-2 (Binary) The Binary number system uses the same mechanism and concept however, the base is 2 versus 10 The place values for binary are based on powers of the base 2: … 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 128 64 32 16 8 4 2 1 Base-16 (Hex) The hexadecimal number system is based 16, and uses the same mechanisms and conversion routines we have already examined. The place values for hexadecimal are based on powers of the base 16 The digits for 10-15 are the letters A - F (A is 10, …….., F is 15) …….. 16^3 16^2 16^1 16^0 4096 256 16 1 Lecture
5-bit Binary Number System 24, 23, 22, 21, 20 16, 8, 4, 2, 1 Lecture
Different Number Systems • Base-10 (Decimal) – what are the characters ? • Example = 659 • Base-2 (Binary) – what are the characters ? • Example = 1101 • Base-16 (Hex) – what are the characters ? • Example = AE • Base-8 (Octal) – what are the characters ? • Example = 73 Lecture
Converting 190 to base 3... 3 5 = 243 is too large, so we try 3 4 = 81. And 2 times 81 doesn’t exceed 190 The last power of 3, 3 0 = 1, is our last choice, and it gives us a difference of zero. Our result, reading from top to bottom is: 19010 = 210013 Converting Between Bases – Subtraction Method
Converting 190 to base 3... Continue in this way until the quotient is zero. In the final calculation, we note that 3 divides 2 zero times with a remainder of 2. Our result, reading from bottom to top is: 19010 = 210013 Converting Between Bases –Division Method
Converting from Binary to Decimal So, the binary number 10110011 can be converted to a decimal number 1 X 1 = 1 (right most bit or position) 1 X 2 = 2 0 X 4 = 0 0 X 8 = 0 1 X 16 = 16 1 X 32 = 32 0 X 64 = 0 1 X 128 = 128 (left most bit or position) ------ 179 in decimal Lecture
Converting from Decimal to Binary To convert from decimal to some other number system requires a different method called the division/remainder method. The idea is to repeatedly divide the decimal number and resulting quotients by the number system’s base. The answer will be the remainders. Example: convert 155 to binary (Start from the top and work down) 155/2 Q = 77, R = 1 (Start) 77/2 Q = 38, R = 1 38/2 Q = 19, R = 0 19/2 Q = 9, R = 1 9/2 Q = 4, R = 1 4/2 Q = 2, R = 0 2/2 Q = 1, R = 0 1/2 Q = 0, R = 1 (Stop) Answer is 10011011. Be careful to place the digits in the correct order. Lecture
Converting Between Bases • Why Decimal, Binary and Hex ? • Give subscripts for Decimal, Binary, Hex, Octal
Converting Between Bases of Power 2 • Using groups of hextets, the binary number 110101000110112 (= 1359510) in hexadecimal is: • Octal (base 8) values are derived from binary by using groups of three bits (8 = 23): If the number of bits is not a multiple of 4, pad on the left with zeros. Octal was very useful when computers used six-bit words.
Converting Between Bases • Fractional decimal values have nonzero digits to the right of the decimal point. • Fractional values of other radix systems have nonzero digits to the right of the radix point. • Numerals to the right of a radix point represent negative powers of the radix: • 0.4710 = 4 10 -1 + 7 10 -2 • 0.112 = 1 2 -1 + 1 2 -2 • = ½ + ¼ • = 0.5+ 0.25 = 0.75
The calculation to the right is an example of using the subtraction method to convert the decimal 0.8125 to binary. Our result, reading from top to bottom is: 0.812510 = 0.11012 Of course, this method works with any base, not just binary. Subtraction - Converting Between Bases
Converting 0.8125 to binary . . . Multiplication Method: You are finished when the product is zero, or until you have reached the desired number of binary places. Our result, reading from top to bottom is: 0.812510 = 0.11012 This method also works with any base. Just use the target radix as the multiplier. Multiplication - Converting Between Bases
Converting Number Systems Lecture
CS 3510 - Chapter 2 (2 of 5) Dr. Clincy Professor of CS Lecture 3
Addition Dr. Clincy Lecture 19
Addition & Subtraction Dr. Clincy Lecture 20
What about multiplication in base 2 By hand - For unsigned case, very similar to base-10 multiplication Dr. Clincy Lecture 21
Division Dr. Clincy Lecture 22
Computers can not SUBTRACT Therefore, need approaches to represent “signed” numbers Lecture
Changing only b3 makes +/- Complementing makes +/- B V alues represented Complementing plus 1 makes +/- Sign and b b b b magnitude 1' s complement 2' s complement 3 2 1 0 + 7 + 7 + 7 0 1 1 1 + 6 + 6 + 6 0 1 1 0 + 5 + 5 + 5 0 1 0 1 + 4 + 4 + 4 0 1 0 0 + 3 + 3 + 3 0 0 1 1 + 2 + 2 + 2 0 0 1 0 + 1 + 1 + 1 0 0 0 1 + 0 + 0 + 0 0 0 0 0 - 0 - 7 - 8 1 0 0 0 - 1 - 6 - 7 1 0 0 1 - 2 - 5 - 6 1 0 1 0 - 3 - 4 - 5 1 0 1 1 - 4 - 3 - 4 1 1 0 0 - 5 - 2 - 3 1 1 0 1 - 6 - 1 - 2 1 1 1 0 - 7 - 0 - 1 1 1 1 1 More used and more efficient NOTE: S-M can be used to “represent” signed numbers however, 1’s and 2’s complement can also be used for subtraction . Lecture
5-bit Binary Number System with SIGN Sign X4, X3, X2, X1, X0 Lecture
Sign Magnitude Approach • Example: • Using signed magnitude binary arithmetic, find the sum of 75 and 46. • Once we have worked our way through all eight bits, we are done. In this example, we were careful to pick two values whose sum would fit into seven bits. If that is not the case, we have a problem. Lecture
Sign Magnitude Approach • Example: • Using signed magnitude binary arithmetic, find the sum of 107 and 46. • We see that the carry from the seventh bit overflows and is discarded, giving us the erroneous result: 107 + 46 = 25. Lecture
Sign Magnitude Approach • The signs in signed magnitude representation work just like the signs in pencil and paper arithmetic. • Example: Using signed magnitude binary arithmetic, find the sum of - 46 and - 25. • Because the signs are the same, all we do is add the numbers and supply the negative sign when we are done. Lecture
Sign Magnitude Approach • Mixed sign addition (or subtraction) is done the same way; pencil and paper arithmetic • Example: Using signed magnitude binary arithmetic, find the sum of 46 and - 25. • The sign of the result gets the sign of the number that is larger. • Note the “borrows” from the second and sixth bits. Lecture
Sign Magnitude Approach • Signed magnitude representation is easy for people to understand, but it requires complicated computer hardware. • Another disadvantage of signed magnitude is that it allows two different representations for zero: positive zero and negative zero. • For these reasons (among others) computers systems employ 1’s and 2’s complement approaches Lecture 9 and 10
One’s Complement Approach • For example, using 8-bit one’s complement representation: + 3 is: 00000011 - 3 is:11111100 • In one’s complement representation, as with signed magnitude, negative values are indicated by a 1 in the high order bit. • Complement systems are useful because they eliminate the need for subtraction. Lecture 9 and 10
One’s Complement Approach • With one’s complement addition, the carry bit is “carried around” and added to the sum. • Example: Using one’s complement binary arithmetic, find the sum of 48 and -19 • We note that 19 in binary is : 00010011, • So -19 in one’s complement is:11101100. Lecture 9 and 10
One’s Complement - Binary Addition • 1010 (neg 5) • +0010 (pos 2) • 1100 (neg 3) • 1101 (neg 2) • +0111 (pos 7) • 10100 (overflow – add the 1 back) • 0101 (pos 5) • Recall complement • 0011 Lecture 9 and 10
1’s Complement Lecture 9 and 10
1’s Complement Lecture 9 and 10
One’s Complement Approach • Although the “end carry around” adds some complexity, one’s complement is simpler to implement than signed magnitude. • But it still has the disadvantage of having two different representations for zero: positive zero and negative zero. • Two’s complement solves this problem. Lecture 9 and 10
Two’s Complement Approach • To express a value in two’s complement representation: • If the number is positive, just convert it to binary and you’re done. • If the number is negative, find the one’s complement of the number and then add 1. • Example: • In 8-bit binary, 3 is: 00000011 • -3 using one’s complement representation is:11111100 • Adding 1 gives us -3 in two’s complement form:11111101. Lecture 9 and 10
Two’s Complement Approach • With two’s complement arithmetic, all we do is add our two binary numbers. Just discard any carries emitting from the high order bit. • Example: Using two’s complement binary arithmetic, find the sum of 48 and - 19. • We note that 19 in binary is:00010011, • So -19 using one’s complement is:11101100, • So -19 using two’s complement is:11101101. Lecture 9 and 10
Two’s Complement Approach • Example: • Using two’s complement binary arithmetic, find the sum of 107 and 46. • We see that the nonzero carry from the seventh bit overflows into the sign bit, giving us the erroneous result: 107 + 46 = -103. • Sign-bit: Carry-in of 1 and Carry-out of 0 But overflow into the sign bit does not always mean that we have an error. Rule for detecting signed two’s complement overflow: When the “carry in” and the “carry out” of the sign bit differ, overflow has occurred. If the carry into the sign bit equals the carry out of the sign bit, no overflow has occurred. Lecture 9 and 10
Two’s Complement Approach • Example: • Using two’s complement binary arithmetic, find the sum of 23 and -9. • We see that there is carry into the sign bit and carry out. The final result is correct: 23 + (-9) = 14. • Sign-bit: Carry-in of 1 and Carry-out of 0 Rule for detecting signed two’s complement overflow: When the “carry in” and the “carry out” of the sign bit differ, overflow has occurred. If the carry into the sign bit equals the carry out of the sign bit, no overflow has occurred. Lecture 9 and 10