Presentation is loading. Please wait.

Presentation is loading. Please wait.

Number Representation Part 1 ECE 645: Lecture 4. Required Reading Chapter 1, Numbers and Arithmetic, Sections 1.1-1.6 Chapter 2, Representing Signed Numbers.

Similar presentations


Presentation on theme: "Number Representation Part 1 ECE 645: Lecture 4. Required Reading Chapter 1, Numbers and Arithmetic, Sections 1.1-1.6 Chapter 2, Representing Signed Numbers."— Presentation transcript:

1 Number Representation Part 1 ECE 645: Lecture 4

2 Required Reading Chapter 1, Numbers and Arithmetic, Sections 1.1-1.6 Chapter 2, Representing Signed Numbers B. Parhami, Computer Arithmetic: Algorithms and Hardware Design

3 Historical Representations: Ancient Egyptians Numerals (1) –~4000 BC –“Sum of Symbols” = (34) 10

4 Historical Representations: Ancient Egyptians Numerals (2) What number does this stone carving from Karnak represent?

5 Historical Representations: Ancient Egyptians Numerals (3)

6 Historical Representations: Ancient Egyptians Numerals (4) Symbol for a fraction (part): Special symbols for most commonly used fractions:

7 –First known positional system –3100 BC –Radix 60 (sexagesimal) –Two symbols: = 1 = 10 Historical Representations: Ancient Babylonian Numerals (1) − Integers and fractions were represented identically - a radix point was not written but rather made clear by context

8 Babylonian Numerals: Example 1 x 60 2 20 x 60 1 56 x 60 0 = (4,856) 10

9 Historical Representations: Ancient Babylonian Numerals (2) Digits from 1 to 59

10 Positional Code with Zero Zero Represented by Space –Partial solution –What about trailing zeros? Babylonians Introduced New Symbol – or –4th to 1st Century BC Zero Allows Representation of Fractions –Fractions started with zero

11 Mixed System Roman Numerals –Sum of all symbols –I=1 V=5 X=10 L=50 C=100 D=500 M=1000 –Difficult to do arithmetic e.g., MCDXLVII - IX ?

12 Hindu-Arabic Numeral System Brahmi numerals, India, 400 BC-400 AD Evolution of numerals in early Europe

13 Positional Code Decimal System –Documented in the 9th century –Position of coefficient determines its value –Coefficient in position is multiplied by radix (10) raised to the power determined by its position, e.g.,

14 Migration of Positional Notation ~750 AD –Zero spread from India to Arabic countries ~1250 AD –Zero spread to Europe Importance of Zero –Ease of arithmetic which leads to improved commerce

15 Binary Number System Binary –Positional number system –Two symbols, B = { 0, 1 } –Easily implemented using switches –Easy to implement in electronic circuitry –Algebra invented by George Boole (1815-1864) allows easy manipulation of symbols

16 16 Modern Arithmetic and Number Systems Modern number systems used in digital arithmetic can be broadly classified as: Fixed-point number representation systems Integers Rational numbers of the form x = a/2 f, a is an integer, f is a positive integer Floating-point number representation systems x * b E, where x is a rational number, b the integer base, and E the exponent Note that all digital numbers are eventually coded in bits {0,1} on a computer

17 17 fixed point floating point Encoding Numbers in 4-Bits

18 Number system Positional Non-positional Fixed-radixMixed-radix ConventionalUnconventional Signed-digit Non-redundantRedundant Binary Decimal Hexadecimal Classification of number systems (1)

19 Classification of number systems (2) Positional w i - weight of the digit x i Fixed-radix r - radix of the number system Conventional fixed-radix r integer, r > 0 x i  {0, 1, …, r-1}

20 Classification of number systems (3) Unconventional fixed-radix x i  {- , …,  } Non-redundant number of digits =  +  + 1  r Redundantnumber of digits =  +  + 1 > r Signed-digit  >0  negative digits

21 Integral and fractional part X = x k-1 x k-2 … x 1 x 0. x -1 x -2 … x -l Integral partFractional part Radix point NOT stored in the register understood to be in a fixed position Fixed-point representation

22 Fixed-Radix Conventional (Unsigned) Representations

23 23 Fixed Point Number system Positional Non-positional Fixed-radixMixed-radix Conventional (unsigned) Unconventional (signed) Signed-digit Non-redundantRedundant Binary Decimal Hexadecimal Fixed-Radix Conventional Number Systems

24 Range of numbers Decimal X = (x k-1 x k-2 … x 1 x 0.x -1 … x -l ) 10 X min X max 10 k - 10 -l 0 Binary Number system X = (x k-1 x k-2 … x 1 x 0.x -1 … x -l ) 2 0 2 k - 2 -l Conventional fixed-radix X = (x k-1 x k-2 … x 1 x 0.x -1 … x -l ) r 0r k - r -l ulp = r -l Notation: unit in the least significant position unit in the last position

25 Number of digits Number system Number of digits in the integer part necessary to cover the range 0..X max Decimal Binary Conventional fixed-radix

26 26 Radix Conversion Option 1) Radix conversion, using arithmetic in the old radix r Convenient when converting from r = 10 or familiar radix u =w. v = ( x k–1 x k–2... x 1 x 0. x –1 x –2... x –l ) r Old =( X K–1 X K–2... X 1 X 0. X –1 X –2... X –L ) R New Option 2) Radix conversion, using arithmetic in the new radix R Convenient when converting to R = 10 or familiar radix Whole partFractional part Example: (31) eight = (25) ten From: Parhami, Computer Arithmetic: Algorithms and Hardware Design Two methods:

27 27 Option 1: Arithmetic in old radix r Converting whole part w:(105) ten = (?) five Repeatedly divide by fiveQuotientRemainder 1050 211 44 0 Therefore, (105) ten = (410) five Converting fractional part v:(105.486) ten = (410.?) five Repeatedly multiply by five Whole Part Fraction.486 2.430 2.150 0.750 3.750 Therefore, (105.486) ten  (410.22033) five From: Parhami, Computer Arithmetic: Algorithms and Hardware Design

28 Radix Conversion of the Integral Part X I = (x k-1 x k-2 … x 1 x 0 ) R = = R - destination radix = ((...((x k-1 R + x k-2 ) R + x k-3 ) R + … + x 2 ) R + x 1 ) R + x 0 Quotient Remainder (...((x k-1 R + x k-2 ) R + x k-3 ) R + … + x 2 ) R + x 1 x0x0...((x k-1 R + x k-2 ) R + x k-3 ) R + … + x 2 x1x1 x k-1 x k-2 x k-1 0 ………. x k-1 R + x k-2 x k-3

29 Radix Conversion of the Fractional Part X F = (. x -1 x -2 … x -l+1 x -l ) R = = R - destination radix = R -1 (x -1 + R -1 (x -2 + R -1 (…. + R -1 ( x -l+1 + R -1 x -l )….))) Integer partFractional part x -1 R -1 (x -2 + R -1 (….. + R -1 ( x -l+1 + R -1 x -l )….)) R -1 (….. + R -1 ( x -l+1 + R -1 x -l )….) x -2 x -l+1 R -1 x -l x -l 0 ………. x -l+2 R -1 ( x -l+1 + R -1 x -l )

30 30 Option 2: Arithmetic in new radix R Converting (22033) five = (?) ten ((((2  5) + 2)  5 + 0)  5 + 3)  5 + 3 |-----| : : : : 10 : : : : |-----------| : : : 12 : : : |---------------------| : : 60 : : |-------------------------------| : 303 : |-----------------------------------------| 1518 Converting fractional part v: (410.22033) five = (105.?) ten (0.22033) five  5 5 =(22033) five =(1518) ten 1518 / 5 5 =1518 / 3125 =0.48576 Therefore, (410.22033) five = (105.48576) ten Horner’s rule or formula From: Parhami, Computer Arithmetic: Algorithms and Hardware Design

31 31 Option 2 cont'd: Horner's rule for fractions Converting fractional part v: (0.22033) five = (?) ten (((((3 / 5) + 3) / 5 + 0) / 5 + 2) / 5 + 2) / 5 |-----| : : : : 0.6 : : : : |-----------| : : : 3.6 : : : |---------------------| : : 0.72 : : |-------------------------------| : 2.144 : |-----------------------------------------| 2.4288 |-----------------------------------------------| 0.48576 Horner’s rule or formula From: Parhami, Computer Arithmetic: Algorithms and Hardware Design Horner’s rule is also applicable: Proceed from right to left and use division instead of multiplication

32 32 r=b g  b  R=b G 4=2 2  2  8=2 3 (2301.302) 4 = (10 110 001. 110 010) 2 = (261.62) 8 Radix Conversion Shortcut for r=b g, R=b G Trick here is to first convert to a number in radix b, then to R Cluster in groups of 3 (because 2 3 = 8) moving away from binary point

33 Signed Number Representations

34 Representations of signed numbers Signed-magnitude Biased Complement Radix-complement Diminished-radix complement (Digit complement) Two’s complementOne’s complement r=2

35 7 0111 1111 0111 0111 6 0110 1110 0110 0110 5 0101 1101 0101 0101 4 0100 1100 0100 0100 3 0011 1011 0011 0011 2 0010 1010 0010 0010 1 0001 1001 0001 0001 0 0000 1000 0000 0000 -0 1000 1111 -1 1001 0111 1111 1110 -2 1010 0110 1110 1101 -3 1011 0101 1101 1100 -4 1100 0100 1100 1011 -5 1101 0011 1011 1010 -6 1110 0010 1010 1001 -7 1111 0001 1001 1000 -8 0000 1000 Signed- magnitude Biased Two’s complement One’s complement

36 Signed-magnitude representation of signed numbers Advantages: Disadvantages: conceptual simplicity symmetric range: -(2 k-1 -1).. -(2 k-1 -1) simple negation addition of numbers with the same sign and with a different sign handled differently 0k-2k-1 sign magnitude

37 Biased (excess-B) representation of signed integers -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 B = 2 k-1, k=4 R(X) = X + B -2 k-1 ≤ X ≤ 2 k-1 -1 X R(X) R

38 Signed number X Unsigned Representation R(X) Bit vector (x k-1 x k-2...x 0.x -1...x -l ) Binary mapping Representation mapping Biased representation with radix 2

39 Complement Signed Number Representations

40 Signed number X Unsigned Representation R(X) Bit vector (x k-1 x k-2...x 0.x -1...x -l ) Binary mapping Representation mapping Complement representations with radix 2

41 1 – x i = x i 1 – x i xixi xixi 0101 1010 1010 Useful dependencies |X| = X when X  0 - X when X < 0

42 One’s complement transformation OC(A) = A = 2 k – 2 -l - A For  0 0  OC(A)  2 k – 2 -l OC(OC(A)) = A def k-1 k-2... 0 -1 -2... -l 1 1... 1. 1 1... 1 –A k-1 A k-2 … A 0. A -1 A -2... A -l Properties:

43 One’s Complement Representation of Signed Numbers R(X) = X for X > 0 0 or OC(0) for X = 0 OC(|X|) for X < 0 For –(2 k-1 – 2 -l )  X  2 k-1 – 2 -l 0  R(X)  2 k – 2 -l def

44 One’s complement representation of signed integers -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 X k=4 X>00 X<0 X+2 k -1 = 2 k -1 - |X| 0, 2 k -1

45 One’s complement representation of signed numbers

46 Two’s complement transformation (1) A + 2 -l = 2 k – A for A > 0 For  0 def Properties: TC(A) = 0 for A = 0 0  TC(A)  2 k – 2 -l TC(TC(A)) = A 2 k – A = 2 k – A – 2 -l + 2 -l = = (2 k – 2 -l – A)+2 -l = A + 2 -l

47 Two’s complement transformation (2) For  0 A + 2 -l mod 2 k = 2 k – A mod 2 k def TC(A) =

48 Two’s Complement Representation of Signed Numbers R(X) = X for X  0 TC(|X|) for X < 0 For –2 k-1  X  2 k-1 – 2 -l 0  R(X)  2 k – 2 -l def

49 Two’s complement representation of signed integers -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 X k=4 X>00 X<0 X+2 k = 2 k - |X| 0

50 Two’s complement representation of signed integers

51 Signed-magnitude representation of signed numbers -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 X k=4 X>00X<0 | X|+2 k-1 = -X+2 k-1 0, 2 k-1

52 Signed-magnitude representation of signed numbers

53 Biased representation of signed numbers -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 X+BX+B B = 2 k-1, k=4 X>00X<0 X+BX+B B

54 Biased representation of signed numbers

55 Arithmetic Operations in Signed Number Representations

56 Unsigned addition vs. signed addition Machine Programmer 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 111 Unsigned mind Signed mind 128 64 32 16 8 4 2 1 weight carry XYSXYS + = FA x0x0 y0y0 s0s0 c1c1 x1x1 y1y1 s1s1 c2c2 x2x2 y2y2 s2s2 c3c3 x3x3 y3y3 s3s3 c4c4 x4x4 y4y4 s4s4 c5c5 x5x5 y5y5 s5s5 c6c6 x6x6 y6y6 s6s6 c7c7 x7x7 y7y7 s7s7 c8c8

57 Out of range flags C = 1 if result > MAX_UNSIGNED or result < 0 0 otherwise where MAX_UNSIGNED = 2 8 -1 for 8-bit operands 2 16 -1 for 16-bit operands V = 1 if result > MAX_SIGNED or result < MIN_SIGNED 0 otherwise where MAX_SIGNED = 2 7 -1 for 8-bit operands 2 15 -1 for 16-bit operands MIN_SIGNED = -2 7 for 8-bit operands -2 15 for 16-bit operands Carry flag - C Overflow flag - V out-of-range for unsigned numbers out-of-range for signed numbers

58 Overflow for signed numbers Indication of overflow Positive + Positive = Negative Negative + Negative = Positive Formulas Overflow 2’s complement = x k-1 y k-1 s k-1 + x k-1 y k-1 s k-1 = = c k  c k-1

59 Two’s complement representation of signed integers

60 Addition of Signed and Unsigned Numbers C=1 and V=0 1 1 0 1 -3 1 0 1 1 -5 -8 4 2 1 1 1 0 0 0 -8 0 0 1 1 3 0 1 1 0 6 -8 4 2 1 1 0 0 1 9≠-7 1 1 0 1 13 1 0 1 1 11 8 4 2 1 1 1 0 0 0 24≠8 C=0 and V=1 0 0 1 1 3 0 1 1 0 6 8 4 2 1 1 0 0 1 9

61 Addition of Signed and Unsigned Numbers C=0 and V=0 0 1 0 1 5 1 0 0 1 -7 -8 4 2 1 1 1 1 0 -2 1 1 0 0 -4 1 0 1 1 -5 -8 4 2 1 1 0 1 1 1 -9≠-7 0 1 0 1 5 1 0 0 1 9 8 4 2 1 1 1 1 0 14 C=1 and V=1 1 1 0 0 12 1 0 1 1 11 8 4 2 1 1 0 1 1 1 23≠7

62 Can replace this with k xor gates Two's Complement Adder/Subtractor Architecture

63 Arithmetic Shift Two’s complement Sh.L {00101 2 = +5} = 01010 2 = +10 Sh.L {11011 2 = -5} = 10110 2 = -10 Sh.L {01010 2 = +10} = 10100 2 = - 12 overflow Sh.R {00101 2 = +5} = 00010 2 = +2 rem 1 Sh.R {11011 2 = -5} = 11101 2 = -3 rem 1 Shift left may cause overflow Shift right requires sign extension

64 Addition and subtraction One’s complement Numbers of the same signNumbers of the opposite sign 0 0 1 0 2 1 1 1 0 -1 8 4 2 1 1 0 0 0 0 1 0 1 0 -5 1 1 0 1 -2 8 4 2 1 1 0 1 1 1 + 1 1 0 0 0 -7 end-arround carry + 0 0 0 1 1 1 Disadvantage: Need another adder after the addition is complete!

65 One’s complement representation of signed numbers

66 Addition and subtraction Signed-magnitude Numbers of the same signNumbers of the opposite sign 0 1 0 1 1 11 0 0 1 1 0 6 sign bitmagnitude + 0 1 0 0 0 1 17 carry = overflow 1 1 0 1 1 -11 0 0 1 1 0 6 sign bitmagnitude + 11 > 6 1 0 1 1 11 0 1 1 0 6 – 0 1 5 1

67

68 Signed Number Representations Summary

69 Representing k-bit signed binary numbers Representation for X>0 Representation for X<0 Representation for 0 Representation Signed- magnitude X 0, 2 k-1 2 k-1 +|X| Biased X+BX+B B X+BX+B Complement X M-|X|=M+X 0, M mod 2 k Two’s complement One’s complement X X 2 k -|X|= 2 k -ulp-|X|= 0 0, 2 k -ulp typical B=2 k-1 or 2 k-1 -ulp

70 Value of a number in the signed representations Representation Value of (x k-1 x k-2 … x 1 x 0.x -1 … x -l ) Signed- magnitude Biased Two’s complement One’s complement

71 Extending the number of bits of a signed number x k-1 x k-2 … x 1 x 0. x -1 x -2 … x -l y k’-1 y k’-2 … y k y k-1 y k-2 … y 1 y 0. y -1 y -2 … y -l y -(l+1) … y -l’ X Y signed-magnitude x k-1 0 0 0 0 0 0 0 x k-2 … x 1 x 0. x -1 x -2 … x -l 0 0 0 0 0 0 two’s complement x k-1 x k-1 x k-1...x k-1 x k-2 … x 1 x 0. x -1 x -2 … x -l 0 0 0 0 0 0 one’s complement x k-1 x k-1 x k-1...x k-1 x k-2 … x 1 x 0. x -1 x -2 … x -l x k-1....x k-1 biased x k-2 … x 1 x 0. x -1 x -2 … x -l 0 0 0 0 0 0... x k-1

72 Generalized Complement Representation

73 Generalized complement representation of signed integers M-N > P M ≥ N+P+1

74 Generalized complement representation of signed integers


Download ppt "Number Representation Part 1 ECE 645: Lecture 4. Required Reading Chapter 1, Numbers and Arithmetic, Sections 1.1-1.6 Chapter 2, Representing Signed Numbers."

Similar presentations


Ads by Google