cpsc 121 models of computation
play

CPSC 121: Models of Computation Unit 3: Representing Values in a - PowerPoint PPT Presentation

CPSC 121: Models of Computation Unit 3: Representing Values in a Computer CPSC 121 2011W T2 Unit 3: Representing Values th online quiz is due Sunday, January 22 nd The 4 at 19:00. Assigned reading for the quiz: Epp, 4 th edition:


  1. CPSC 121: Models of Computation Unit 3: Representing Values in a Computer CPSC 121 – 2011W T2

  2. Unit 3: Representing Values th online quiz is due Sunday, January 22 nd The 4 at 19:00.  Assigned reading for the quiz:  Epp, 4 th edition: 2.3  Epp, 3 rd edition: 1.3  Rosen, 6 th edition: 1.5 up to the bottom of page 69.  Rosen, 7 th edition: 1.6 up to the bottom of page 75. CPSC 121 – 2011W T2

  3. Unit 3: Representing Values By the start of this class you should be able to  Convert unsigned integers from decimal to binary and back.  Take two's complement of a binary integer.  Convert signed integers from decimal to binary and back.  Convert integers from binary to hexadecimal and back.  Add two binary integers. CPSC 121 – 2011W T2

  4. Unit 3: Representing Values Quiz 3 feedback:  Well done overall.  Can one be 1/3 rd Scottish? (c) ITV/Rex Features  We will get back to this question later.  I don't have any Scottish ancestors.  So we will ask if one can be 1/3 Belgian instead (which would you prefer: a bagpipe and a kilt, or belgian chocolate?) (c) 1979, Dargaud ed. et Albert Uderzo CPSC 121 – 2011W T2

  5. Unit 1: Propositional Logic CPSC 121: the BIG questions: ? ? ? We will make progress on two of them: ? ?  How does the computer (e.g. Dr. Racket) decide if the characters of your program represent a name, a number, ? ? or something else? How does it figure out if you have ? mismatched " " or ( )? ? ?  How can we build a computer that is able to execute a user-defined program? ? ? ? ? ? ? ? CPSC 121 – 2011W T2

  6. Unit 3: Representing Values By the end of this unit, you should be able to:  Critique the choice of a digital representation scheme, including describing its strengths, weaknesses, and flaws (such as imprecise representation or overflow), for a given type of data and purpose, such as  fixed-width binary numbers using a two’s complement scheme for signed integer arithmetic in computers  hexadecimal for human inspection of raw binary data. CPSC 121 – 2011W T2

  7. Summary  Unsigned and signed binary integers.  Characters.  Real numbers. CPSC 121 – 2011W T2

  8. Unit 3: Representing Values Notice the similarities: Number b 3 b 2 b 1 b 0 Number Value 1 Value 2 Value 3 Value 4 0 F F F F 0 0 0 0 0 1 F F F T 1 0 0 0 1 2 F F T F 2 0 0 1 0 3 F F T T 3 0 0 1 1 4 F T F F 4 0 1 0 0 5 F T F T 5 0 1 0 1 6 F T T F 6 0 1 1 0 7 F T T T 7 0 1 1 1 8 T F F F 8 1 0 0 0 9 T F F T 9 1 0 0 1 CPSC 121 – 2011W T2

  9. Unit 3: Representing Values Unsigned integers review: the binary value b n − 1 b n − 2 ... b 2 b 1 b 0 represents the integer n − 1  b n − 2 2 n − 2  ...  b 2 2 2  b 1 2 1  b 0 b n − 1 2 or written differently n − 1 ∑ i = 0 i b i 2 CPSC 121 – 2011W T2

  10. Unit 3: Representing Values To negate a (signed) integer:  Replace every 0 bit by a 1, and every 1 bit by a 0.  Add 1 to the result. Why does this make sense?  For 3-bit integers, what is 111 + 1? a) 110 b) 111 c) 1000 d) 000 e) Error: we can not add these two values. CPSC 121 – 2011W T2

  11. Unit 3: Representing Values Implications for binary representation:  There is a noticeable pattern if you start at 0 and repeatedly add 1.  We can extend the pattern towards the negative integers as well. Also note that  -x has the same binary representation as n − x 2  n − x = 2 n − 1 − x  1 2 Add 1 Flip bits from 0 to 1 and from 1 to 0 CPSC 121 – 2011W T2

  12. Unit 3: Representing Values An open-ended question we weren't able to put on quiz #3:  Imagine the time is currently 15:00 (3:00PM, that is). How can you quickly answer the following two questions without using a calculator:  What time was it 8 * 21 hours ago?  What time will it be 13 * 23 hours from now? CPSC 121 – 2011W T2

  13. Unit 3: Representing Values Exercice:  What is 10110110 in decimal, assuming it's a signed 8-bit binary integer? How do we convert a positive decimal integer n to binary?  The last bit is 0 if n is even, and 1 if n is odd.  To find the remaining bits, we divide n by 2, ignore the remainder, and repeat. What do we do if n is negative? CPSC 121 – 2011W T2

  14. Unit 3: Representing Values Theorem : for signed integers: the binary value b n − 1 b n − 2 ... b 2 b 1 b 0 represents the integer n − 1  b n − 2 2 n − 2  ...  b 2 2 2  b 1 2 1  b 0 − b n − 1 2 or written differently n − 2 n − 1  ∑ i = 0 i − b n − 1 2 b i 2 Proof : CPSC 121 – 2011W T2

  15. Unit 3: Representing Values Questions to ponder:  With n bits, how many distinct values can we represent?  What are the smallest and largest n-bit unsigned binary integers?  What are the smallest and largest n-bit signed binary integers? CPSC 121 – 2011W T2

  16. Unit 3: Representing Values More questions to ponder:  Why are there more negative n-bit signed integers than positive ones?  How do we tell quickly if a signed binary integer is negative, positive, or zero?  There is one signed n-bit binary integer that we should not try to negate.  Which one?  What do we get if we try negating it? CPSC 121 – 2011W T2

  17. Summary  Unsigned and signed binary integers.  Characters.  Real numbers. CPSC 121 – 2011W T2

  18. Unit 3: Representing Values How do computers represent characters?  It uses sequences of bits (like for everything else).  Integers have a “natural” representation of this kind.  There is no natural representation for characters.  So people created arbitrary mappings:  EBCDIC: earliest, now used only for IBM mainframes.  ASCII: American Standard Code for Information Interchange  7-bit per character, sufficient for upper/lowercase, digits, punctuation and a few special characters.  UNICODE:  16+ bits, extended ASCII for languages other than English CPSC 121 – 2011W T2

  19. Unit 3: Representing Values What does the binary value 11111000 represent? a) -8 b) The character ø c) 248 d) More than one of the above e) None of the above. CPSC 121 – 2011W T2

  20. Summary  Unsigned and signed binary integers.  Characters.  Real numbers. CPSC 121 – 2011W T2

  21. Unit 3: Representing Values rd Belgian? Can someone be 1/3 Here is a very detailed answer from last year:  "One needs to make many (wrong) assumptions in order to even approach this problem. First we must identify what “Scottish” means. Are we dealing with nationality, ethnic identity, some sort of odd idea about genetics (Scottish “blood”), or some jumbled folk sense of “Scottish” that jumbles the above three ideas; ... However, this is a crazy assumption because how can we say a chromosome is 100% or some other percentage some ethnic identity. ... I suggest changing this question in the future as it might be offensive to some minorities.” CPSC 121 – 2011W T2

  22. Unit 3: Representing Values Here is an interesting answer from this year:  Not normally, since every person's genetic code is derived from two parents, branching out in halves going back. However, someone with a chromosome abnormality that gives them three chromosomes (trisomy), a person might be said to be one- third/two-thirds of a particular genetic marker. CPSC 121 – 2011W T2

  23. Unit 3: Representing Values rd Belgian? Can someone be 1/3 a) Suppose we start with people who are either 0% or 100% Belgian. (c) ITV/Rex Features b) After 1 generation, how Belgian can a child be? c) After 2 generations, how Belgian can a grand-child be? d) What about 3 generations? e) What about n generations? (c) 1979, Dargaud ed. et Albert Uderzo CPSC 121 – 2011W T2

  24. Unit 3: Representing Values Numbers with fractional components in binary:  Example: 5/32 = 0.00101 Which of the following values have a finite binary expansion? a) 1/10 b) 1/3 c) 1/4 d) More than one of the above. e) None of the above. CPSC 121 – 2011W T2

  25. Unit 3: Representing Values Numbers with fractional components (cont):  In decimal:  1/3 = 0.333333333333333333333333333333333333...  1/8 = 0.125  1/10 = 0.1  In binary:  1/3 =  1/8 =  1/10 = Which fractions have a finite decimal expansion? CPSC 121 – 2011W T2

  26. Unit 3: Representing Values How does Java represent values of the form xxx.yyyy?  They use scientific notation  1724 = 0.1724 x 10 4  But in binary, instead of decimal.  1724 = 0.11010111100 x 2 1011 exponent mantissa  Only the mantissa and exponent need to be stored.  The mantissa has a fixed number of bits (24 for float, 53 for double). CPSC 121 – 2011W T2

  27. Unit 3: Representing Values Scheme/Racket uses this for inexact numbers. Consequences:  Computations involving floating point numbers are imprecise.  The computer does not store 1/3, but a number that's very close to 1/3.  The more computations we perform, the further away from the “real” value we are.  Example: predict the output of: (* #i0.01 0.01 0.01 100 100 100) CPSC 121 – 2011W T2

Recommend


More recommend