Number Representation Part 1
Total Page:16
File Type:pdf, Size:1020Kb
ECE 645: Lecture 4 Number Representation Part 1 Fixed-Point Representations. Endianness. Required Reading B. Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 1, Numbers and Arithmetic, Sections 1.1-1.6 Chapter 2, Representing Signed Numbers Endianness, from Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Endianness Historical Representations: Ancient Egyptians Numerals (1) – ~4000 BC – “Sum of Symbols” = (34)10 Historical Representations: Ancient Egyptians Numerals (2) What number does this stone carving from Karnak represent? Historical Representations: Ancient Egyptians Numerals (3) Historical Representations: Ancient Egyptians Numerals (4) Symbol for a fraction (part): Special symbols for most commonly used fractions: Historical Representations: Ancient Babylonian Numerals (1) – First known positional system – 3100 BC – Radix 60 (sexagesimal) – Two symbols: = 1 = 10 − Integers and fractions were represented identically - a radix point was not written but rather made clear by context Babylonian Numerals: Example 1 x 602 20 x 601 56 x 600 = (4,856)10 Historical Representations: Ancient Babylonian Numerals (2) Digits from 1 to 59 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 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 ? Hindu-Arabic Numeral System Brahmi numerals, India, 400 BC-400 AD Evolution of numerals in early Europe 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., 3 2 1 0 4 *10 + 8*10 + 5*10 + 6*10 = (4,856)10 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 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 3 2 1 0 (0101)2 = 0*2 +1*2 + 0*2 +1*2 = (5)10 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/2f, a is an integer, f is a positive integer • Floating-point number representation systems • x * bE, 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 16 Encoding Numbers in 4-Bits −16 −14 −12 −10 −8 −6 −4 −2 0 2 4 6 8 10 12 14 16 Number format Unsigned integers Signed-magnitude ± fixed 3 + 1 fixed-point, point xxx.x Signed fraction, ±.xxx ± 2’s-compl. fraction, x.xxx 2 + 2 floating-point, s × 2 e e s floating e in [−2, 1], s in [0, 3] point 2 + 2 logarithmic (log = xx.xx) log x 17 Classification of number systems (1) Number system Positional Non-positional Fixed-radix Mixed-radix Conventional Unconventional Binary Signed-digit Decimal Hexadecimal Non-redundant Redundant Classification of number systems (2) Positional k−1 X x w w - weight of the digit x = ∑ i ⋅ i i i i=−l Fixed-radix k−1 X x ri r - radix of the number system = ∑ i ⋅ i=−l Conventional fixed-radix k−1 r integer, r > 0 X = x ⋅ ri ∑ i xi ∈ {0, 1, …, r-1} i=−l Classification of number systems (3) Unconventional fixed-radix k−1 i X x r xi ∈ {-α, …, β } = ∑ i ⋅ i=−l Signed-digit α>0 ⇒ negative digits Non-redundant number of digits = α + β + 1 ≤ r Redundant number of digits = α + β + 1 > r Example of a mixed-radix positional system? What is it? What is it? What is it? Samrat Yantra in Jantar Mantar - Jaipur, India - The largest sundial in the world - 90 feet (27 m) tall - Conceived by Maharaja Sawai Raja Jai Singh II - Built of local stone and marble 1728-1734 - The style's horizontal angle is equal the sundial's geographical latitude 27° north - The time is read by observing where the shadow is sharpest at the time - Accuracy of 2 seconds - Reconstructed in 1901 Jantar Mantar - Jaipur, India Original Units of Time - 1 day = 60 ghadis (1 ghadi = 24 minutes) - 1 ghadi = 60 pals (1 pal = 24 seconds) - 1 pal = 4 breaths (1 breath = 6 seconds) Original weights: 60*60*4 60*4 4 breaths day ghadi pal Current weights: 24*60*60 60*60 60 seconds day hour minute Fixed-point representation Integral and fractional part X = xk-1 xk-2 … x1 x0 . x-1 x-2 … x-l Integral part Fractional part Radix point • NOT stored in the register • understood to be in a fixed position Fixed-Radix Conventional (Unsigned) Representations Fixed-Radix Conventional Number Systems Fixed Point Number system Positional Non-positional Fixed-radix Mixed-radix Conventional Unconventional (signed) (unsigned) Binary Signed-digit Decimal Hexadecimal Non-redundant Redundant 29 Range of numbers Number system Xmin Xmax Decimal k -l X = (xk-1 xk-2 … x1 x0.x-1 … x-l)10 0 10 - 10 Binary k -l X = (xk-1 xk-2 … x1 x0.x-1 … x-l)2 0 2 - 2 Conventional fixed-radix k -l X = (xk-1 xk-2 … x1 x0.x-1 … x-l)r 0 r - r Notation: unit in the least significant position -l ulp = r unit in the last position Number of digits Number of digits in the integer Number system part necessary to cover the range 0..Xmax Decimal k = ⎣log10 X max ⎦+1 = = ⎡log10(X max +1)⎤ Binary k = ⎣log2 X max ⎦+1 = = ⎡log2 (X max +1)⎤ Conventional k = ⎣logr X max ⎦+1 = fixed-radix = ⎡logr (X max +1)⎤ Radix Conversion Whole part Fractional part u = w . v = ( xk–1xk–2 . x1x0 . x–1x–2 . x–l )r Old = ( XK–1XK–2 . X1X0 . X–1X–2 . X–L )R New Example: (31)eight = (25)ten Two methods: Option 1) Radix conversion, using arithmetic in the old radix r Convenient when converting from r = 10 or familiar radix Option 2) Radix conversion, using arithmetic in the new radix R Convenient when converting to R = 10 or familiar radix From: Parhami, Computer Arithmetic: Algorithms and Hardware Design 32 Option 1: Arithmetic in old radix r Converting whole part w: (105)ten = (?)five Repeatedly divide by five Quotient Remainder 105 0 21 1 4 4 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 3 .750 Therefore, (105.486)ten ≅ (410.22033)five From: Parhami, Computer Arithmetic: Algorithms and Hardware Design 33 Radix Conversion of the Integral Part R - destination radix k−1 X = (x x … x x ) = x ⋅ R i = I k-1 k-2 1 0 R ∑ i i=0 = ((...((xk-1 R + xk-2) R + xk-3 ) R + … + x2 ) R + x1 ) R + x0 Quotient Remainder (...((xk-1 R + xk-2) R + xk-3 ) R + … + x2 ) R + x1 x0 ...((xk-1 R + xk-2) R + xk-3 ) R + … + x2 x1 ………. ………. xk-1 R + xk-2 xk-3 xk-1 xk-2 0 xk-1 Radix Conversion of the Fractional Part R - destination radix −1 i X = (. x x … x x ) = x i ⋅ R = F -1 -2 -l+1 -l R ∑ i=−l -1 -1 -1 -1 -1 = R (x-1 + R (x-2 + R (…. + R ( x-l+1 + R x-l )….))) Integer part Fractional part -1 -1 -1 -1 x-1 R (x-2 + R (….. + R ( x-l+1 + R x-l)….)) x -1 -1 -1 -2 R (….. + R ( x-l+1 + R x-l)….) ………. ………. -1 -1 x-l+2 R ( x-l+1 + R x-l) x -1 -l+1 R x-l x-l 0 Option 2: Arithmetic in new radix R Converting fractional part v: (410.22033)five = (105.?)ten 5 (0.22033)five × 5 = (22033)five = (1518)ten 5 1518 / 5 = 1518 / 3125 = 0.48576 Therefore, (410.22033)five = (105.48576)ten Converting (22033)five = (?)ten ! ((((2 × 5) + 2) × 5 + 0) × 5 + 3) × 5 + 3 ! ! |-----| : : : : ! ! 10 : : : : ! ! |-----------| : : : ! ’ ! 12 : : : !Horner s ! |---------------------| : : ! rule or ! 60 : : ! ! |-------------------------------| : !formula ! 303 : ! ! |-----------------------------------------| ! !! 1518 From: Parhami, Computer Arithmetic: Algorithms and Hardware Design 36 Option 2 cont'd: Horner's rule for fractions Horner’s rule is also applicable: Proceed from right to left and use division instead of multiplication Converting fractional part v: (0.22033)five = (?)ten ! ! ! (((((3 / 5) + 3) / 5 + 0) / 5 + 2) / 5 + 2) / 5! Horner’s |-----| : : : : ! 0.6 : : : : ! rule or |-----------| : : : ! formula 3.6 : : : ! |---------------------| : : ! 0.72 : : ! |-------------------------------| : ! 2.144 : ! |-----------------------------------------| ! 2.4288 ! |-----------------------------------------------|! 0.48576! From: Parhami, Computer Arithmetic: Algorithms and Hardware Design 37 Radix Conversion Shortcut for r=bg, R=bG r=bg → b → R=bG 4=22 → 2 → 8=23 (2301.302)4 = (10 110 001. 110 010)2 = (261.62)8 • Trick here is to first convert to a number in radix b, then to R • Cluster in groups of 3 (because 23 = 8) moving away from binary point 38 Signed Number Representations Representations of signed numbers Signed-magnitude Biased Complement Radix-complement Diminished-radix complement (Digit complement) r=2 r=2 Two’s complement One’s complement Signed- Biased Two’s One’s magnitude complement complement 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 representation of signed numbers k-1 k-2 0 magnitude sign Advantages: • conceptual simplicity • symmetric range: -(2k-1-1) .