Class Notes CS 250 Part II: Binary Arithmetic and Base Conversions 1 1. Base Conversion 1.1 Converting from Binary to Decimal Approach: Step 1: list the binary place values (weights) for all digits. Step 2: add up all those place values where the digit is 1. Example: A = 1 0 0 1 1 0 1 1 1 28 27 26 25 24 23 22 21 20 = 28 + 25 + 24 + 22 + 21 + 20 = 619 1.2 Converting from Decimal to Binary Approach: Step 1: repeat following steps until the new value becomes zero. i. Find the largest value of power of 2, which is smaller than the value, and subtract it from the value. ii. Replace the value by the new value in step i. Step 2: construct the binary number: the place digit is one if the corresponding power of 2 was used, otherwise the digit is zero. Example: A = 173 =10101101 173 – 128 (27) = 45 45 – 32 (25) = 13 13 – 8 (23) = 5 5 – 4 (22) = 1 1 – 1 (20) = 0 2. Unsigned Binary Arithmetic 2.1 Addition Binary Addition Table: 2 X Y Z S C 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 where X and Y are a pair of digits to be added, Z is the carry from previous digit, S is current summation digit and C is the carry generated by the current digits. Example: 10010110 + 00111111 -------------------------------11010101 2.2 Subtraction It is similar to the decimal subtraction, except that the borrow value is two. Example: 10001010 - 01010110 --------------------------------00110100 2.3 Multiplication and Division Binary multiplication and division are similar to the decimal binary multiplication and division where the addition is the binary addition and the subtraction is the binary subtraction. 3 Example (multiplication): 1 0 0 0 1 01 0 x 1011 -------------------------10001010 10001010 10001010 -----------------------------------10111101110 Example (division): 1101 1010 10001010 - 1010 -----------1110 - 1010 -----------10010 - 1010 ------------1000 3. Signed Binary Representation and Arithmetic 3.1 2’s Complement Representation Let B = bn-1bn-2 …. b1b0 be an n-bit binary number Def. 2’s complement of B = bn1 bn2 e.g. if bi =1 then bi =0, if Example: b1 b0 1, where bi is the complement value of bi bi =0 then bi =1. n = 8, B = 0 1 0 1 01 0 1 2’s complement of B = 1 0 1 0 1 0 1 0 + 1 = 1 0 1 0 1 0 1 1 4 Def. The 2’s complement representation of a signed integer B (n-bit) is {B2 ' s complement of |B| if B 0 if B<0 Example: (n=8) 2’s complement representation of 5 = 0 0 0 0 0 1 0 1 2’s complement representation of –5 = 1 1 1 1 1 0 1 1 Note the Most Significant Bit (MSB) of the 2’s complement representation is the sign bit the number. The range of n-bit integers in 2’s complement representation is [ -2n-1, 2n-1 – 1]. 3.2 Arithmetics of 2’s Complement Representation Numbers Addition S = A + B Step 1: S = A + B and ignore the end carry Example: (n=8) A = 5, B=-3 0 0 0 0 0 1 0 1 (5) + 1 1 1 1 1 1 0 1 (-3) ----------------------------------------(1) 0 0 0 0 0 0 1 0 ↑ ignore Subtraction S =A– B Step 1: S = A + 2’s complement of B and ignore the end carry Example: + S = 5 – (-3) (n=8) 00000101 (5) 00000011 (2’s complement of 11111101) ---------------------------00001000 5 The multiplication and division of signed integers in 2’s complement representation are similar to the unsigned multiplication and division, except that the result can be positive or negative. If it is negative then the result should be represented in 2’s complement representation. Example: 3 x 5 = 0 1 1 x 1 0 1 = 15 = 0 0 0 0 1 1 1 1 -3 x 5 = -(15) = 1 1 1 1 0 0 0 1 6