29
Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Embed Size (px)

Citation preview

Page 1: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Numerics

Representation and Errors

Page 2: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Integers

• Typically stored as a series of bits• Two’s complement binary• Each bit represents a zero or one

– Similar to a light switch– Only two states

• Binary is base 2

Page 3: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Decimal

• In base 10 the 10 occurs twice• The number of digits• The power to which a place is raised• In decimal each digit may be one of

10 possibilities, 0 - 9• Each digit is multiplied by 10 raised

to some power

Page 4: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

A Decimal Number

4,809

9 100= 90 101= 08 102= 8004 103= 4000

Page 5: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Binary is just the same

• In base 2 the 2 occurs twice• The number of digits• The power to which a place is raised• In binary each digit may be one of

two possibilities, 0 or 1• Each digit is multiplied by two

raised to some power

Page 6: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

A Binary Number101101

1 23= 80 24= 0

1 20= 10 21= 01 22= 4

1 25= 32

45

Page 7: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Binary and other bases• We use it because it is the only

base easy to implement in hardware

• We almost never display it– Binary is quite bulky

• We often use other bases for certain displays– Octal, base 8– Hexadecimal, base 16– Converting these to and from binary

is quite simple– Conversion to decimal is much harder

Page 8: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Integers• Come in several sizes:• 16 bit

– -32768 to 32767

• Most common is 32 bit– Largest integer is (231)-1– -2,147,483,648 to 2,147,483,647– There is always one more negative than

positive– Zero is taken from positives

• Large integers may be 64 bit– Largest is 9,223,372,036,854,780,000

Page 9: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Integer Errors• Integers are only subject to one error• Overflow• Add 1 to largest positive integer and

result is smallest negative integer• Subtract 1 from largest (in absolute

value) negative and result is largest positive

• Similar to clock arithmetic, except there are positives and negatives

Page 10: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Another Look at Overflow

Copyright © 2003-2012 Curt Hill

Page 11: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Real Numbers• Real numbers (float, double) are

actually two numbers• Similar to scientific notation:

2.543 108

• The 2.543 is called the mantissa• The 8 is called the exponent• The 10 is the base

– Not represented, since always a 2 or some other constant

Page 12: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Real Number Errors• Real numbers are subject to a

variety of errors– Some quite subtle

• In order to demonstrate these we will model a computation using three digit arithmetic– Two digit of mantissa– One digit of exponent– Base of 10

Page 13: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

3 Digit Arithmetic Game• A perfect circle is found in nature• We want to know its area• The formula is a =πr2

• The radius (r) is:11.4962790000000000

• Unfortunately, we measured this radius to be:11.495

• Which becomes 11E0 on our machine

Page 14: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Computing…

Take the 11 E 0 and square11 E 011 E 0

121 E 0

The121E0 has too manydigits, adjust:

12 E 1

Multiply timesπ12 E 131 E -1

372 E 0

Adjust again 37 E 1

Page 15: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

What happened?• This exercise demonstrates several

important sources of error• It is never the case that if its close

its accurate– Which is what most believe

• The three demonstrated errors are– Observational– Representational– Computational

Page 16: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

The Results

• The real value should be 415.2060805

• We ended up with 370• About 12% error• One half of a significant digit

Page 17: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Observational Error

• We can never measure anything completely accurately– To infinite precision

• The introduced error in this case is 0.02%

• This is not a problem for integers• The Olympics have a problem with

this, in measuring to hundredths of a second

Page 18: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Olympic Observational Error• LA 1984 Women’s 100 M. Freestyle

– Carrie Steinseifer and Nancy Hogshead won in 55.92

– Both received gold – no silver awarded

• Sydney 2000 Men’s 50 M. Freestyle– Anthony Ervin and Gary Hall Jr. 21.98

• London 2012 two events, four silvers – Men’s 200 M. Freestyle

• Taehwan Park and Yang Sun

– Men’s 100 M. Butterfly• Chad le Clos and Evgeny Korotyshkin

Copyright © 2003-2012 Curt Hill

Page 19: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Representational Error• The measurement cannot be represented

accurately on this machine• 11.495 to 11 causes an error amounting

to 8.4% in addition to previous

• Truncatingπwill cause an additional 1.3%• This will be minimized but not eliminated

with many more than 2 digits of precision• This is the only integer arithmetic error

– Overflow

• There is more of this than you might think

Page 20: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Computational Error• A digit was lost twice

– 121 to 120– 372 to 370

• We may round or truncate this but we still lose information

• This will account for another 1.3% error in addition to the previous

• Another problem that integer arithmetic does not have

Page 21: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Representational Error Revisited

• Recall from grade school days there are three types of decimal numbers:– Rational

• Terminating• Repeating

– Irrational

• πcould not be represented since it has infinite digits

• For computational purposes, irrationals are no worse than repeating decimals

Page 22: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Repeating decimals

• Many fractions convert to repeating decimals

• 1/3 repeats with one digit 0.33333…• 1/11 has two digits 0.09090909…• 1/7 repeats with 6: .142857

142857…• As does 1/13: .076923 076923…

Page 23: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Terminating decimals• Terminating decimals are what we want• They end in an infinite number of zeros• 1/2 is 0.50• 1/4 is 0.25• 1/5 is 0.2• 1/8 is 0.125• 1/10 is 0.1• No representational errors with these• Or is there?

Page 24: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Terminating and Repeating

• Why does 1/5 terminate and 1/3 repeat?

• It all has to do with the prime factors of the denominator– If the prime factors only contain 2s

and 5s the number terminates, otherwise it repeats

– These are the prime factors of 10

Page 25: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Terminator• A number terminates if its

denominator has only the prime factors of the base

• 1/7 terminates in base 7 and base 14 but not in base 10 or base 2

• What base does a computer use?• Binary – base 2• We have representational error for

any fraction whose denominator has something other than two for a prime factor

Page 26: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Example: Money

• Cents are always fractions, with a denominator of 100– 100 has prime factors of 2 and 5

• Only the cent amounts of .00, .25, .50 and .75 reduce to having a denominator of 2 or 4

• Thus 96% of all monetary amounts have representational error

Page 27: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Computational Error Revisited

• Certain operations produce more or less error

• The subtraction of two values that are close in value has a deleterious effect

• The most significant and most accurate digits cancel each other

• This leaves only the most error prone digits left

Page 28: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Multiplication and Division• Generally multiplication and division

are better at preserving significant digits than addition and subtraction– The result has the precision of the least

precise value

• The result of multiplication has the sum of digits– Most of these are thrown away

• Errors are cumulative• Once we have error digits we cannot

get rid of them

Page 29: Copyright © 2003-2012 Curt Hill Numerics Representation and Errors

Copyright © 2003-2012 Curt Hill

Examples

0.20348

-0.20321

0.00027

Most accurate digits are lost

0.95

0.83

0.0285

+ 0.760

0.7885

The most accurate digits contribute most