Data Representation – Chapter 3 Sections 3-2, 3-3, 3-4
Homework Assignment Questions/Requests/Comments/Concerns?
Number Range What is meant by “range”? How do you compute the range of a given set of digits?
More Representations Integer values are represented by a power series regardless of radix (base) = 1 x x = 1 x x x x 2 0 What about fractions?
Fraction Representations Same principle applies = 1 x x x x “decimal point” = 1 x x x x 2 -2 “binary point”
Fraction Representations To convert a decimal fraction to binary –Multiple decimal fractional part by 2 –Output the integer part –Repeat until you’ve reached the desired accuracy = x x x x
Fraction Representations More on binary floating point representations later (maybe)
Addition Decimal number addition carry
Addition Binary number addition carries It works the same way in binary as it does in decimal
Subtraction Decimal number subtraction 1 1 borrow
Subtraction Binary number subtraction 01 borrow It works the same way in binary as it does in decimal
Subtraction Questions What about when a subtraction results in a negative value? How do you represent a negative value in binary? How do you represent a negative value in decimal?
Negative Numbers Decimal - 27 Place a “-” in front of the decimal digits
Negative Numbers Binary Place a “-” in front of the binary digits This is called signed-magnitude representation In the hardware the sign is a designated bit where 0 means “+” and 1 mean “–”
Negative Numbers Signed-magnitude is convenient for humans doing symbolic manipulations It’s not convenient for computer computations Why not? –Consider subtraction (which is really addition of a negative number)
Signed-Magnitude Subtraction 21 Minuend -17 Subtrahend 4 Difference 17 Minuend -21 Subtrahend - 4 Difference
Signed-Magnitude Subtraction if (M >= S) compute M-S else compute S-M place “-” on difference To perform subtraction we must first perform a comparison! –Therein lies the inconvenience
Negative Numbers Revisited Complement representation “(r-1)’s” complement –Given N r, an n-digit number of radix r –“(r-1)’s” complement is (r n – 1) - N r
“(r-1)’s” complement Decimal n=5, r=10, N=12345 ( ) ( ) –“9’s” complement
“(r-1)’s” complement Binary n=5, r=2, N=10110 (2 5 -1) ( ) –“1’s” complement –Note that the result is just an inversion of the bits of the original number (1/0 and 0/1)
“(r-1)’s” complement So, how does this help us do subtraction? –It doesn’t really! –Furthermore the representation of 0 is ambiguous 0000“+0” 1111“-0” Try it!
Another Complement “r’s” complement –Given N r, an n-digit number of radix r –“r’s” complement is “(r-1)’s” complement + 1 (r n – 1) – N r + 1 r n – N r if (N r != 0) 0 if (N r == 0)
“r’s” complement Let’s concentrate on the 2’s complement (binary number system) –“…leaving all least significant 0’s and the first 1 unchanged, and then replacing 1’s by 0’s and 0’s by 1’s in all other higher significant bits.” Yeah, right! –Take the “1’s” complement and add 1
“2’s” Complement n=5, r=2, N=10110 (2 5 -1) ( ) ’s complement ’s complement
2’s Complement “Subtraction” Original Problem2’s Complement Problem Carry Out Answer 2’s Complement
2’s Complement “Subtraction” Original Problem2’s Complement Problem Carry Out Answer 2’s Complement
2’s Complement “Subtraction” ’s Complement Problem Carry Out Answer 2’s Complement ’s Complement Problem Carry Out Answer 2’s Complement How do we know the sign of the result?
2’s Complement “Subtraction” Recall that we’re doing “fixed bit-length” math When the numbers are “signed” then the most significant bit (MSB) represents the sign –MSB=1 defined as negative –MSB=0 defined as positive
Sign of the Result? ’s Complement Problem Carry Out Answer 2’s Complement ’s Complement Problem Carry Out Answer 2’s Complement Sign Bit
Sign of the Result? The result is in 2’s complement form –If the sign bit is 1, take the 2’s complement of the result to read off the magnitude in “normal” binary notation –If the sign bit is 0, the result is in “normal” binary notation
Overflow What if the result is too big? –Remember, this is fixed bit-length math –When you add to n-bit numbers the result may be up to n+1 bits long
Overflow When a signed positive number is added to a signed (2’s complement) negative number an overflow cannot occur –The positive number magnitude will only get smaller When two signed negative numbers or two positive numbers are added an overflow may occur –Magnitude is going to get bigger When two signed positive numbers are added, the sign bit is treated as part of the magnitude of the number and the end carry (overflow) is not treated as “overflow”
Overflow So, when is that “extra bit” an overflow and when is it part of the result? –Check the sign bit and the overflow bit –If the two are not equal then an overflow has occurred –If the two are equal then there is no overflow
Overflow In an overflow condition –If the numbers are both positive, then the sign bit becomes part of the magnitude of the result –If the numbers are both negative, then the overflow bit is treated as the sign As we’ll see next time (logic gates) there is a very simple way to detect overflow Questions?
“2’s” Complement Is this cheating on the representation of 0 since we handled it with an conditional statement? No! Try it based on the formula only! Don’t really need to specify it as two cases I only did it because the book did
“2’s” Complement So, how does this help us do subtraction? Addition of a 2’s complement subtrahend. –Take 2’s complement of the subtrahend (negate the subtrahend) –Add minuend to subtrahend –Difference is in 2’s complement notation Note we’re using a fixed, pre-specified number of bits If the result overflows, just ignore it for now
Other Binary Formats Binary Coded Decimal (BCD) –Convert each decimal digit to its binary representation and store –Requires 4 bits per digit – why? –Forget about BCD arithmetic Even parity/Odd parity –For a binary number, count the number of 1’s –If the number is odd, attach an extra “1” for even parity or a “0” for odd parity –If the number is even, attach an extra “0” for even parity or a “1” for odd parity –What good is this? Gray code –Count through a sequence of binary numbers in such a way that only 1 bit at a time changes –What good is this? American Standard Code for Information Interchange (ASCII) –Standard set of binary patterns assigned to 256 characters –How many bits comprise the ASCII code? Unicode –Up-to-date replacement for ASCII –Various schemes utilizing various bit lengths
Homework Textbook pages 89 – 91 –3-9, 3-10, 3-13, 3-15, 3-16, 3-17, 3-23 – Due beginning of next lecture Begin reading Chapter 1