Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Microprocessors Number Systems and Conversions No. 1-1 9/6/00 HEXADECIMAL NUMBERS Code WRITING one’s and zero’s can be error prone when.

Similar presentations


Presentation on theme: "Introduction to Microprocessors Number Systems and Conversions No. 1-1 9/6/00 HEXADECIMAL NUMBERS Code WRITING one’s and zero’s can be error prone when."— Presentation transcript:

1 Introduction to Microprocessors Number Systems and Conversions No. 1-1 9/6/00 HEXADECIMAL NUMBERS Code WRITING one’s and zero’s can be error prone when dealing with large numbers. IBM came up with the following method of dealing with these numbers. BASE 16 with digits 0 - 15 in base 10 are represented by the following notation in Hexadecimal. 0 16 = 0000 2 = 0 10 8 16 = 1000 2 = 8 10 1 16 = 0001 2 = 1 10 9 16 = 1001 2 = 9 10 2 16 = 0010 2 = 2 10 A 16 = 1010 2 = 10 10 3 16 = 0011 2 = 3 10 B 16 = 1011 2 = 11 10 4 16 = 0100 2 = 4 10 C 16 = 1100 2 = 12 10 5 16 = 0101 2 = 5 10 D 16 = 1101 2 = 13 10 6 16 = 0110 2 = 6 10 E 16 = 1110 2 = 14 10 7 16 = 0111 2 = 7 10 F 16 = 1111 2 = 15 10

2 Introduction to Microprocessors Number Systems and Conversions No. 1-2 9/6/00 Base 16 Conversion EXAMPLE Convert A7 16 to binary Note: This is easy because of the relationship between the two bases A = 1010 7 = 0111 Therefore 0A7H or $A7 = 10100111 Note leading 0 before A. Since this is a number a different base than base 10, absence of the zero may confuse a compiler. Therefore it is customary to add the leading 0 to any hex character that begins with a letter of the alphabet (A,B,C,D,E,F) !! These are NUMBERS in base 16 !!

3 Introduction to Microprocessors Number Systems and Conversions No. 1-3 9/6/00 HEXADECIMAL TO DECIMAL Similar Rules as to those in binary to decimal –Convert to binary then weighted multiplication -OR- –Leave in HEX and use HEX multiplication EXAMPLE (repeated multiplication) $F8E6H = F(16) 3 + 8 (16) 2 + E(16) 1 + 6(16) 0 = 15(16) 3 + 8 (16) 2 + 14(16) 1 + 6(16) 0 = 61,440 + 2048 + 224 +6 = 63,718

4 Introduction to Microprocessors Number Systems and Conversions No. 1-4 9/6/00 DECIMAL TO HEXADECIMAL Similar Rules as to those in decimal to binary Repeated HEX division EXAMPLE (repeated division) Divisors are for 16 binary digits (4 HEX) 2479 10 = 2479/16 = 154 remainder 15 or F 154/16 = 9 remainder 10 or A 9/16 = 9 remainder 9 or 9 Answer = 9AFH

5 Introduction to Microprocessors Number Systems and Conversions No. 1-5 9/6/00 DECIMAL TO HEXADECIMAL ALTERNATE Same EXAMPLE (but weighted division) Divisors are for 16 binary digits (4 HEX) 4096, 256, 16, 1 2479 10 = 2479/256 = 9 remainder.68359375 x256 = 175/16 = 10 or A remainder.9375 x 16 = 15/1 = 15 or F Answer = 9AFH

6 Introduction to Microprocessors Number Systems and Conversions No. 1-6 9/6/00 BINARY CODES DECIMAL 8421 BINARY 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 0101 6 0110 0110 7 0111 0111 8 1000 1000 9 1001 1001 10 0001 0001 1010 11 0001 0010 1011.... 98 1001 1000 1100010 99 1001 1001 1100011 7421 6311 5421 5311 5211 0000 0000 0000 0000 0000 0001 0001 0001 0000 0001 0010 0011 0010 0011 0011 0011 0100 0011 0100 0101 0100 0101 0100 0101 0111 0101 0111 1000 1000 1000 0110 1000 1001 1001 1001 1000 1001 1010 1011 1011 1001 1011 1011 1100 1101 1010 1100 1100 1101 1111 4 Bit BCD CODESBCD

7 Introduction to Microprocessors Number Systems and Conversions No. 1-7 9/6/00 MORE 4-BIT BCD CODES Decimal 4221 3321 2421 84/2/1 74/2/1 0 0000 0000 0000 0000 0000 1 0001 0001 0001 0111 0111 2 0010 0010 0010 0110 0110 3 0011 0011 0011 0101 0101 4 1000 0101 0100 0100 0100 5 0111 1010 1011 1011 1010 6 1100 1100 1100 1010 1001 7 1101 1101 1101 1001 1000 8 1110 1110 1110 1000 1111 9 1111 1111 1111 1111 1110 The / is subtract weight

8 Introduction to Microprocessors Number Systems and Conversions No. 1-8 9/6/00 5-BIT CODES Decimal2-out of-563210Shift-Counter86421 51111 0 0001100110 0000000000 00000 1 0010100011 0000100001 00001 2 00110 00101 00011 00010 00011 3 0100101001 0011100011 00111 4 0101001010 0111100100 10000 5 0110001100 1111100101 100006 1000110001 111100100011000 7 1001010010 1110001001 11100 8 1010010100 1100010000 11110 9 1100011000 1000010001 11111

9 Introduction to Microprocessors Number Systems and Conversions No. 1-9 9/6/00 OTHER CODES Alphanumeric Codes –ASCII CODE 7 BITS –EBCDIC CODE 8 BITS –UNICODE 16 Bits

10 Introduction to Microprocessors Number Systems and Conversions No. 1-10 9/6/00 ASCII CODE Part 1

11 Introduction to Microprocessors Number Systems and Conversions No. 1-11 9/6/00 ASCII CODE CONTROL CODES

12 Introduction to Microprocessors Number Systems and Conversions No. 1-12 9/6/00 EBCDIC Part I

13 Introduction to Microprocessors Number Systems and Conversions No. 1-13 9/6/00 EBCDIC PART II

14 Introduction to Microprocessors Number Systems and Conversions No. 1-14 9/6/00 UNICODE 16 BIT CODE First Page 0000H - 00FFH Same as ASCII Has not been standardized the remaining 0FFFFH minus 00FFH available for all remaining countries and languages!

15 Introduction to Microprocessors Number Systems and Conversions No. 1-15 9/6/00 Number Systems Representation of Negative Numbers Three major schemes: sign and magnitude ones complement twos complement nines complement tens complement Assumptions: we'll assume a 4 bit machine word 16 different values can be represented roughly half are positive, half are negative

16 Introduction to Microprocessors Number Systems and Conversions No. 1-16 9/6/00 Number Systems Sign and Magnitude Representation High order bit is sign: 0 = positive (or zero), 1 = negative Three low order bits is the magnitude: 0 (000) thru 7 (111) Number range for n bits = +/-2 -1 Representations for 0 Two +/- n-1

17 Introduction to Microprocessors Number Systems and Conversions No. 1-17 9/6/00 Number Systems Ones Complement Subtraction implemented by addition & 1's complement Still two representations of 0! This causes some problems Some complexities in addition

18 Introduction to Microprocessors Number Systems and Conversions No. 1-18 9/6/00 Number Representations Twos Complement Only one representation for 0 One more negative number than positive number like 1's comp except shifted one position clockwise

19 Introduction to Microprocessors Number Systems and Conversions No. 1-19 9/6/00 BINARY ARITHMETIC RULES FOR ADDITION 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 + carry 1 to next column RULES FOR SUBTRACTION 0 - 0 = 0 0 - 1 = 1 and borrow from next column 1 - 0 = 1 1 - 1 = 0 Borrowing 1 from next column is equivalent to subtracting 1 from that column

20 Introduction to Microprocessors Number Systems and Conversions No. 1-20 9/6/00 Addition EXAMPLE ADD 1010 to 1101 1010 +1101 10111 SUBTRACT 1010 from 1101 borrow 4 subtract 2 1101nothing in 4 position -1010 0011

21 Introduction to Microprocessors Number Systems and Conversions No. 1-21 9/6/00 Number Representations Addition and Subtraction of Numbers Sign and Magnitude 4 + 3 7 0100 0011 0111 -4 + (-3) -7 1100 1011 1111 When signs is same, result sign bit is the same as the operands' sign. Just add magnitudes 4 - 3 1 0100 1011 0001 -4 + 3 1100 0011 1001 When signs differ, operation is subtract, sign of result depends on sign of number with the larger magnitude. This is what we do in base 10.

22 Introduction to Microprocessors Number Systems and Conversions No. 1-22 9/6/00 Number Systems Sign and Magnitude Cumbersome addition/subtraction. Must compare magnitudes to determine the sign of result.

23 Introduction to Microprocessors Number Systems and Conversions No. 1-23 9/6/00 Ones Complement The general formula for finding /N = (2 n - 1) - N To find 1's complement of 7 2 = 10000 -1 = 00001 1111 -7 = 0111 1000 = -7 in 1's comp. 4 The symbol N, with a bar over it, is used to represent the complement. Also used to indicate inversion are /, ‘, or ! (CUPL and ABEL) N is positive number, then N is its negative 1's complement. N is the precision, as many 1’s as required. Binary can be any precision, but BCD requires 4 bits. Precision 4 bits Therefore,

24 Introduction to Microprocessors Number Systems and Conversions No. 1-24 9/6/00 Ones Complement ZERO Applying the general formula /N = (2 n - 1) - N To find 1's complement of 0 2 = 10000 -1 = 00001 1111 -0 = 0000 1111 = -0 in 1's comp. 4 NOTE: The complement of 0 is 1111, which means, there are 2 representations of 0. 0000 Positive 0 1111 Negative 0

25 Introduction to Microprocessors Number Systems and Conversions No. 1-25 9/6/00 SHORTCUT 1’s Complement Shortcut method: Replace all 0’s with 1’s, and all 1’s with 0’s simply compute bit wise complement 7 in 1’s complement 0111 -> 1000

26 Introduction to Microprocessors Number Systems and Conversions No. 1-26 9/6/00 Number Systems Addition and Subtraction of Numbers Ones Complement Calculations 4 + 3 7 0100 0011 0111 -4 + (-3) -7 1011 1100 10111 1 1000 4 - 3 1 0100 1100 10000 1 0001 -4 + 3 1011 0011 1110 End around carry

27 Introduction to Microprocessors Number Systems and Conversions No. 1-27 9/6/00 Number Systems Addition and Subtraction of Binary Numbers Ones Complement Calculations Why does end-around carry work? Its equivalent to subtracting 2 and adding 1 n M - N = M + / N = M + (2 n - N -1) = (M - N) + 2 n - 1 For (M > N) -M + (-N) = M + N = (2 n - M - 1) + (2 n - N - 1) = 2 n + [2 n - 1 - (M + N)] - 1 For M + N < 2 n-1 after end around carry the -1 is canceled if a carry, else not: = 2 n - 1 - (M + N) this is the correct form for representing -(M + N) in 1's complement!

28 Introduction to Microprocessors Number Systems and Conversions No. 1-28 9/6/00 Number Systems Two’s Complement Numbers /N = 2 n - N Note: subtract number immediately. Example: Twos complement of 7 Example: Twos complement of 0 Only 4bits can represent number. The most significant 1 is dropped! 4 2 = 10000 7 = 0111 1001 = represents -7 sub 2 = 10000 -0 = 0000 0000 = 0 4 sub Shortcut method Number 1: Twos complement =1’s complement + 1 0111 -> 1000 + 1 -> 1001 (representation of -7) 1001 -> 0110 + 1 -> 0111 (representation of 7)

29 Introduction to Microprocessors Number Systems and Conversions No. 1-29 9/6/00 SHORTCUT Shortcut method Number 2: Starting from the right, least significant bit, if 0 leave unchanged. Continue from right to left, if 0, no change. When the first 1 is encountered, we leave it unchanged, but complement each digit to the left. 7 10 = 0111 2 Apply method 1001 2 = -7 10. 68 10 = 01100100 2 yields 10011100 2. The lead 0 is important so that the number to be converted is positive! In base 10, the - sign does that for us. With only on and off (0,1) we need this extra bit of information to describe the signed number. -68 10 = 10011100 yields 01100100 2 = + 68 10

30 Introduction to Microprocessors Number Systems and Conversions No. 1-30 9/6/00 Number Systems Addition and Subtraction of Binary Numbers Twos Complement Calculations 4 + 3 7 0100 0011 0111 -4 + (-3) -7 1100 1101 11001 4 - 3 1 0100 1101 10001 -4 + 3 1100 0011 1111 Simpler addition scheme makes twos complement the most common choice for integer number systems within digital systems

31 Introduction to Microprocessors Number Systems and Conversions No. 1-31 9/6/00 Number Systems Addition and Subtraction of Binary Numbers Twos Complement Calculations Why can the carry-out be ignored? -M + N when N > M: M* + N = (2 - M) + N = 2 + (N - M) n n Ignoring carry-out is just like subtracting 2 n -M + -N where N + M < or = 2 n-1 -M + (-N) = M* + N* = (2 - M) + (2 - N) = 2 - (M + N) + 2 n n After ignoring the carry, this is just the right twos compl. representation for -(M + N)! nn

32 Introduction to Microprocessors Number Systems and Conversions No. 1-32 9/6/00 Number Systems Overflow Conditions Add two positive numbers to get a negative number or two negative numbers to get a positive number 5 0101 +3 0011 -8 1000 -7 - 2 = +7 0000 0001 0010 0011 1000 0101 0110 0100 1001 1010 1011 1100 1101 0111 1110 1111 +0 +1 +2 +3 +4 +5 +6 +7 -8 -7 -6 -5 -4 -3 -2 0000 0001 0010 0011 1000 0101 0110 0100 1001 1010 1011 1100 1101 0111 1110 1111 +0 +1 +2 +3 +4 +5 +6 +7 -8 -7 -6 -5 -4 -3 -2 4 bit representation 3 bits + sign in msb range -8 to +7 +1=6 (ok) +2=7 (ok) +3=-8 (error)

33 Introduction to Microprocessors Number Systems and Conversions No. 1-33 9/6/00 OVERFLOW If carry-in (penultimate) is added to sign bit and there is a carry-out then no overflow. if carry-in differs from carry-out then overflow This is true for both 1’s and 2’s complement addition.

34 Introduction to Microprocessors Number Systems and Conversions No. 1-34 9/6/00 Number Systems Overflow Conditions Example is using 2’s Complement 5 3 -8 0 1 1 1 carry 0 1 0 1 0 0 1 1 1 0 0 0 -7 -2 7 1 0 0 0 carry 1 0 0 1 1 1 1 0 1 0 1 1 1 Note: the carry and penultimate carry are not the same! This can be very easily implemented in hardware. XOR Overflow 527527 0 0 0 0 carry 0 1 0 1 0 0 1 0 0 1 1 1 -3 -5 -8 1 1 1 1 carry 1 1 0 1 1 0 1 1 1 1 0 0 0 No overflow Overflow when carry in to sign does not equal carry out Overflow

35 Introduction to Microprocessors Number Systems and Conversions No. 1-35 9/6/00 BCD Addition BCD Number Representation Decimal digits 0 thru 9 represented as 0000 thru 1001 in binary Addition: 5 = 0101 3 = 0011 1000 = 8 5 = 0101 8 = 1000 1101 = 13! Problem when digit sum exceeds 9 Solution: add 6 (0110) if sum exceeds 9. 5 = 0101 8 = 1000 1101 6 = 0110 1 0011 = 1 3 in BCD 9 = 1001 7 = 0111 1 0000 = 16 in binary 6 = 0110 1 0110 = 1 6 in BCD

36 Introduction to Microprocessors Number Systems and Conversions No. 1-36 9/6/00 BCD Subtractin Must use 10’s complement To find 10’s complement, first generate 9’s complement by subtracting The number from 9. If n = 9, 9-9 =0 9’s complement of 9 is 0 or 0000 If n = 8, 9-8 =1 9’s complement of 8 is 1 or 0001 If n = 7, 9-7 =2 9’s complement of 7 is 2 or 0010 If n = 6, 9-6 =3 9’s complement of 6 is 3 or 0011 If n = 5, 9-5 =4 9’s complement of 5 is 4 or 0100 If n = 4, 9-4 =5 9’s complement of 4 is 5 or 0101 If n = 3, 9-3 =6 9’s complement of 3 is 6 or 0110 If n = 2, 9-2 =7 9’s complement of 2 is 7 or 0111 If n = 1, 9-1 =8 9’s complement of 1 is 8 or 1000 If n = 0, 9-0 =9 9’s complement of 0 is 9 or 1001 Add 1 to 9’s complement to find 10’s complement.

37 Introduction to Microprocessors Number Systems and Conversions No. 1-37 9/6/00 Example of BCD Subtract To subtract 2 from 5, find 10’s complement of 2 which is 1000 2 4 Bit Representation. 5 5 0101 -2 8 1000 3 1 3 1101 The 1 carry, is normal form and indicates answer is 3. In binary, 1001 is exceeded! Must add 6 to correct. Known as BCD adjust. 0110 1 0011The 1 carry is normal form answer is 3 base 10.

38 Introduction to Microprocessors Number Systems and Conversions No. 1-38 9/6/00 Addition Examples 4 BITS signed and unsigned

39 Introduction to Microprocessors Number Systems and Conversions No. 1-39 9/6/00 Addition Examples 4 BITS signed and unsigned

40 Introduction to Microprocessors Number Systems and Conversions No. 1-40 9/6/00 Excess 3 Code Excess-3 code is another important BCD Code. To encode a decimal number, add 3 to each digit before converting to binary. EXAMPLE (Note: 2 digits represented by 2 4 bit numbers) 12 to excess-3 = 1+3=4 2+3=5 4 5 0100 0101 29 to excess-3 = 2+3=5 9+3=12 5 12 0101 1100

41 Introduction to Microprocessors Number Systems and Conversions No. 1-41 9/6/00 EXAMPLES OF EXCESS ADDITION In excess-3 addition, whenever we add two numbers whose sum is 9 or less, an excess-6 number is formed. To return to excess-3 we must subtract 3. EXAMPLE 2 +5 = 7 0101 2 1000 5 1101 excess-6 - 0011 1010 excess-3 equivalent of 7 CASE 1

42 Introduction to Microprocessors Number Systems and Conversions No. 1-42 9/6/00 EXAMPLES OF EXCESS ADDITION In excess-3 addition, whenever we add two numbers whose sum is greater than 9, there will be a carry from one group to the next. When this happens, the group that produced the carry will revert to 8421 (BCD). To return to excess-3 we must subtract 3 from that group. EXAMPLE 0 1 carry not carried to 10’s because of sum 29 0101 1100 excess-3 for 29 + 39 0110 1100 excess-3 for 39 68 1100 1000 first result - 0011 + 0011 subtract less than 9, add 3 1001 1011 excess-3 for 68 CASE 2


Download ppt "Introduction to Microprocessors Number Systems and Conversions No. 1-1 9/6/00 HEXADECIMAL NUMBERS Code WRITING one’s and zero’s can be error prone when."

Similar presentations


Ads by Google