Arithmetic Operators Decimal Codes 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU.
Download ReportTranscript Arithmetic Operators Decimal Codes 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU.
Arithmetic Operators Decimal Codes 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 1 Class 2 outline Number Ranges Arithmetic Operators Decimal Codes Material from sections 1-3 and 1-4 of text 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 2 Number Ranges What do you mean by number range? On paper you have as many digits as you can fit. In a computer or digital system, it is built with a limit to the number of bits that can be in a number. So the maximum number that can be represented is limited by the number of bits 9/15/09 - L2 m bits allows representation of 2m numbers, Ranged 0 through 2m -1 Copyright 2009 - Joanne DeGroat, ECE, OSU 3 Numbers ranges with binary With 1 bit – 21 = 2 numbers With 2 bits – 22 = 4 numbers 0 and 1 0, 1, 2, 3 (00, 01, 10, 11) Or in fixed point 0, .5, 1, 1.5 Or in fractional 0, .25, .5, .75 With 3 bits – 23 = 8 numbers (Octal) 9/15/09 - L2 0,1,2,3,4,5,6,7 (000,001,010,011,100,101,110,111) Copyright 2009 - Joanne DeGroat, ECE, OSU 4 Other number ranges With 4 bits – Hex – 24 = 16 numbers With 8 bits – 256 – commonly referred to as a byte 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 0 through (28-1), or 0 through 255 With 16 bits 9/15/09 - L2 0 through (216-1), or 0 through 65,535 if the 16 bits represent and unsigned number Copyright 2009 - Joanne DeGroat, ECE, OSU 5 Arithmetic Operators Arithmetic in any base is according to the same rules Just must be careful to only use the r digits of the radix. Rules for binary addition are the same as for base 10. 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 6 Addition Basic – consider the bit by bit possibilities Augend Addend Sum 0 0 0 0 1 1 1 0 1 1 1 10 1 0 0 1 1 1 1 0 1 1 1 0 1 10 10 11 And including a carry 9/15/09 - L2 Carry Augend Addend Sum 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 10 Copyright 2009 - Joanne DeGroat, ECE, OSU 7 Result carry For those instances where the result was 10 or 11, the msb 1 of this addition are a carry into the next bit position. Muti-bit example 9/15/09 - L2 Carries Augend Addend Sum 01100 00101 10001 12 5 17 Copyright 2009 - Joanne DeGroat, ECE, OSU 8 Result carry For those instances where the result was 10 or 11, the msb 1 of this addition are a carry into the next bit position. Muti-bit example 9/15/09 - L2 Carries Augend Addend Sum 11000 01100 00101 10001 12 5 17 Copyright 2009 - Joanne DeGroat, ECE, OSU 9 Binary Subtraction Just like subtraction in any other base Minuend Subtrahand Difference 10110 - 10010 00100 And when a borrow is needed. Note that the borrow gives us 2 in the current bit position. 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 10 Binary subtraction (cont) And more ripple - 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 11 Binary Multiplication Just like base 10, it is a series of adds 5 x 3 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 15 x 15 12 Operations in other bases Operations in octal and hex follow the same rules. Book provides and example of octal multiplication 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 13 Conversion from Decimal To binary (the most common) Have seen one method so far A General Procedure 9/15/09 - L2 Step 1 – Separate into integer and fractional parts if there is a binary point Repeat: Divide by radix, r, until remainder is <r The final remainder is the msb. Copyright 2009 - Joanne DeGroat, ECE, OSU 14 Example of conversion Convert 5410 to binary 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 15 Another example Convert 4210 to binary Book also show fractional conversion 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 16 Decimal codes We are cavemen at heart and like base 10. Computer electronics are such that it likes base 2. IS THERE A COMPROMISE? 9/15/09 - L2 Binary Coded Decimal (BCD) Group the binary into groups of 4 bits. Each group can represent 16 distinct symbols. Use only the 10 digits. Copyright 2009 - Joanne DeGroat, ECE, OSU 17 BCD example 56 + 42 Encode as BCD digits 56 = 0101 0110 42 = 0100 0010 Simply do the binary addition of each BCD digit 9/15/09 - L2 98 = 1001 1000 Copyright 2009 - Joanne DeGroat, ECE, OSU 18 Another example 46 + 68 Encode as BCD digits 46 = 0100 0110 68 = 0110 1000 Simply do the binary addition of each BCD digit 9/15/09 - L2 ?? = 1010 1110 but both are out of the useable BCD representation range Copyright 2009 - Joanne DeGroat, ECE, OSU 19 What to do? Starting with least significant digit add 6 Had the bcd representation 1010 1110 Add 6 or 0110 to the 1110 Getting 10100 and have BCD digit 0100 and a carry to the next BCD position WHY 6? 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 20 Add in the carry Continue by adding the carry to the next digit Had the bcd representation 1010 1110 Add the carry and get 1011 so must again add 6 Or add 0110 to the 1011 Getting 10001 and have BCD digit 0001 and a carry to the next BCD position Final answer is 0001 0001 0100 or 114 √ 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 21 Class 2 wrapup Covered sections 1-3 and 1-4 Problems for hand in 1-12 and 1-13 Problems for practice 1-19 Reading for next class: sections 1-5 thru 1-7 9/15/09 - L2 Copyright 2009 - Joanne DeGroat, ECE, OSU 22