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 /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 in base 10 are represented by the following notation in Hexadecimal = = = = = = = = = = 2 10 A 16 = = = = 3 10 B 16 = = = = 4 10 C 16 = = = = 5 10 D 16 = = = = 6 10 E 16 = = = = 7 10 F 16 = = 15 10

2 Introduction to Microprocessors Number Systems and Conversions No /6/00 Base 16 Conversion EXAMPLE Convert A7 16 to binary Note: This is easy because of the relationship between the two bases A = = 0111 Therefore 0A7H or $A7 = 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 /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) (16) 2 + E(16) 1 + 6(16) 0 = 15(16) (16) (16) 1 + 6(16) 0 = 61, = 63,718

4 Introduction to Microprocessors Number Systems and Conversions No /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/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 /6/00 DECIMAL TO HEXADECIMAL ALTERNATE Same EXAMPLE (but weighted division) Divisors are for 16 binary digits (4 HEX) 4096, 256, 16, = 2479/256 = 9 remainder 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 /6/00 BINARY CODES DECIMAL 8421 BINARY Bit BCD CODESBCD

7 Introduction to Microprocessors Number Systems and Conversions No /6/00 MORE 4-BIT BCD CODES Decimal /2/1 74/2/ The / is subtract weight

8 Introduction to Microprocessors Number Systems and Conversions No /6/00 5-BIT CODES Decimal2-out of Shift-Counter

9 Introduction to Microprocessors Number Systems and Conversions No /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 /6/00 ASCII CODE Part 1

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

12 Introduction to Microprocessors Number Systems and Conversions No /6/00 EBCDIC Part I

13 Introduction to Microprocessors Number Systems and Conversions No /6/00 EBCDIC PART II

14 Introduction to Microprocessors Number Systems and Conversions No /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 /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 /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 /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 /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 /6/00 BINARY ARITHMETIC RULES FOR ADDITION = = = = 0 + carry 1 to next column RULES FOR SUBTRACTION = = 1 and borrow from next column = = 0 Borrowing 1 from next column is equivalent to subtracting 1 from that column

20 Introduction to Microprocessors Number Systems and Conversions No /6/00 Addition EXAMPLE ADD 1010 to SUBTRACT 1010 from 1101 borrow 4 subtract nothing in 4 position

21 Introduction to Microprocessors Number Systems and Conversions No /6/00 Number Representations Addition and Subtraction of Numbers Sign and Magnitude (-3) When signs is same, result sign bit is the same as the operands' sign. Just add magnitudes 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 /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 /6/00 Ones Complement The general formula for finding /N = (2 n - 1) - N To find 1's complement of 7 2 = = = = -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 /6/00 Ones Complement ZERO Applying the general formula /N = (2 n - 1) - N To find 1's complement of 0 2 = = = = -0 in 1's comp. 4 NOTE: The complement of 0 is 1111, which means, there are 2 representations of Positive Negative 0

25 Introduction to Microprocessors Number Systems and Conversions No /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 > 1000

26 Introduction to Microprocessors Number Systems and Conversions No /6/00 Number Systems Addition and Subtraction of Numbers Ones Complement Calculations (-3) End around carry

27 Introduction to Microprocessors Number Systems and Conversions No /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 (M + N)] - 1 For M + N < 2 n-1 after end around carry the -1 is canceled if a carry, else not: = 2 n (M + N) this is the correct form for representing -(M + N) in 1's complement!

28 Introduction to Microprocessors Number Systems and Conversions No /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 = = = represents -7 sub 2 = = = 0 4 sub Shortcut method Number 1: Twos complement =1’s complement > > 1001 (representation of -7) > > 0111 (representation of 7)

29 Introduction to Microprocessors Number Systems and Conversions No /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 = Apply method = = yields 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 = yields =

30 Introduction to Microprocessors Number Systems and Conversions No /6/00 Number Systems Addition and Subtraction of Binary Numbers Twos Complement Calculations (-3) 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 /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 /6/00 Number Systems Overflow Conditions Add two positive numbers to get a negative number or two negative numbers to get a positive number = 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 /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 /6/00 Number Systems Overflow Conditions Example is using 2’s Complement carry carry Note: the carry and penultimate carry are not the same! This can be very easily implemented in hardware. XOR Overflow carry carry No overflow Overflow when carry in to sign does not equal carry out Overflow

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

36 Introduction to Microprocessors Number Systems and Conversions No /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 /6/00 Example of BCD Subtract To subtract 2 from 5, find 10’s complement of 2 which is Bit Representation 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 The 1 carry is normal form answer is 3 base 10.

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

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

40 Introduction to Microprocessors Number Systems and Conversions No /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= to excess-3 = 2+3=5 9+3=

41 Introduction to Microprocessors Number Systems and Conversions No /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 = excess excess-3 equivalent of 7 CASE 1

42 Introduction to Microprocessors Number Systems and Conversions No /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 excess-3 for excess-3 for first result subtract less than 9, add 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