1 / 38

Chapter 2 Representing and Manipulating Information

Chapter 2 Representing and Manipulating Information. Prof. Qi Tian CS 3843 Fall 2013 http://www.cs.utsa.edu/~qitian/CS3843/. Summary of Lectures. 09-30-2013 (Monday) Section 2.4.4 Rounding Example In-class Quiz 2 Reminder: Midterm 1 on Monday Oct. 7, 2013

joann
Download Presentation

Chapter 2 Representing and Manipulating Information

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 2 Representing and Manipulating Information Prof. QiTian CS 3843 Fall 2013 http://www.cs.utsa.edu/~qitian/CS3843/

  2. Summary of Lectures • 09-30-2013 (Monday) • Section 2.4.4 Rounding Example • In-class Quiz 2 • Reminder: Midterm 1 on Monday Oct. 7, 2013 • Practice Problems for Midterm One

  3. Summary of Lectures • 09-27-2013 (Friday) • IEEE Rounding Methods • Practice Problem • Quiz 2 next Monday • Midterm 1 on Monday Oct. 7, 2013 • 09-25-2013 (Wednesday) • Examples for IEEE Floating Point Representation • 09-23-2013 (Monday) • Section 2.4 IEEE Floating Point Representation (cont.)

  4. Summary of Lectures • 09-20-2013 (Friday) • Section 2.4 IEEE Floating Point Representation (cont.) • 09-18-2013 (Wednesday) • Section 2.4 IEEE Floating Point Representation • 09-16-2013 (Monday) • Section 2.3.1 Unsigned Addition and Unsigned Subtraction • Section 2.3.2 Two’s Complement Addition • Quiz 1

  5. Summary of Lectures • 09-13-2013 (Friday) • Questions on P.9 of Assignment 1 • Section 2.3.1 Unsigned Addition • Quiz 1 • 09-11-2013 (Wednesday) • Section 2.1.10 Shift Operations • Practice Problem 4 • Questions on Assignment 1 • 09-09-2013 (Monday) • Practice Problems 1-3

  6. Summary of Lectures • 09-06-2013 (Friday) • Section 2.2.3 Representing Negative Numbers • Sign & Magnitude System • Two’s Complement System • One’s Complement System • 09-04-2013 (Wednesday) • Section 2.1.2-2.1.10 • Word size/data size/addressing and byte ordering • Boolean Algebra and Logical Operations in C

  7. Summary of Lectures • 08-30-2013 (Friday) • Conversion between decimal and base R number • Integer • Fractional number • 08-28-2013 (Wednesday) • Syllabus • Information Storage • Conversion between Binary and Hexadecimal Number

  8. Practice Problem 1 - Bit-level Operations in C

  9. Practice Problem 1 - Bit-level Operations in C

  10. Practice Problem 2 - Boolean Operations (bit-level and logical operation in C) Suppose x and y have byte values 0x66 and 0x39, respectively. Fill in the following table indicating the byte value of the different C expressions:

  11. Practice Problem 2 - Boolean Operations (bit-level and logical operation in C) Suppose x and y have byte values 0x66 and 0x39, respectively. Fill in the following table indicating the byte value of the different C expressions:

  12. Practice Problem 3 Representing Negative Numbers Q1. Using a 8-bit word, find the binary representation of -27. • Using Sign and Magnitude System • Using 1’s Complement System • Using 2’s Complement System

  13. Practice Problem 3 Representing Negative Numbers Q1. Using a 8-bit word, find the binary representation of -27. • Using Sign and Magnitude System N = 27 = 0001, 1011 -27 = 1001,1011 • Using 1’s Complement System N = 27 = 0001, 1011 = 1110, 0100 • Using 2’s Complement System N* = 1110, 0101

  14. Practice Problem 3 Representing Negative Numbers Q2. Using a 12-bit word, find the binary representation of -27. • Using Sign and Magnitude System • Using 1’s Complement System • Using 2’s Complement System

  15. Practice Problem 3 Representing Negative Numbers Q2. Using a 12-bit word, find the binary representation of -27. • Using Sign and Magnitude System N = 27 = 0000, 0001, 1011 -27 = 1000, 0001,1011 (not sign extension from 8 bit) • Using 1’s Complement System N = 27 = 0000, 0001, 1011 = 1111,1110, 0100 (sign extension from 8 bit) • Using 2’s Complement System N* = 1111, 1110, 0101 (sign extension from 8 bit)

  16. Section 2.2.1 Integer Representation Typical range for C integral data type on 32-bit machine

  17. Section 2.2 Integer Representation Typical range for C integral data type on 64-bit machine

  18. Section 2.1.5 ASCII Code • A character is usually represented as a single byte by using the ASCII code. • Strings are represented as arrays of characters terminated by the null character. • ASCII • American Standard Code for Information Interchange • 7-bit code (128 ASCII Characters) • Some properties: • Codes for digits are consecutive: ‘0’ = 48, ‘1’ =49, etc. • Codes for upper case letters are consecutive: ‘A’=65, ‘B’=66, etc. • Codes for lower case letters are consecutive: ‘a’=97, ‘b’=98, etc. • Maximum value is 127.

  19. ASCII Code • A compact table in hex and decimal

  20. Section 2.1.10 Shift Operations • X =[xn-1,xn-2,…, x1, x0] • Left shift: x << k (C expression) • Result: [xn-k-1, xn-k-2, …, x0, 0,…, 0] • Dropping off the k most significant bits, and filled the right end with k zeros • Right shift: x >> k (C expression) • Logical shift: x >>L k • Result: [0,…,0,xn-1, xn-2, …, xk] • Arithmetic shift: x >>Ak • Result: [xn-1,…, xn-1, xn-1, …, xk]

  21. Section 2.1.10 Shift Operations • x << k is equivalent to multiply by 2k,x*2k • x >>A k is equivalent to divide by 2k , x/2k • k < 32 for integer x • Many C compilers perform arithmetic right shifts on negative values in which the vacated values are filled with the sign bit.

  22. Section 2.3.6 – Multiplying by constants • A left shift by k bits is equivalent to multiplying by 2k. • Using addition if a small number of 1 bits x * 49 = x * [110001]= x*[32 + 16 + 1] = x * [25+24+20] = (x*25)+(x*24)+(x*20)= (x<<5) + (x<<4) +x • Using subtraction if a large number of 1 bits in a row x * 78 = x*[1001110] = x*[26+24-2] = (x<<6)+(x<<4)-(x<<1)

  23. Practice Problem 4 • For each of the following values of K, find ways to express x *K using only the specified number of operations, where we consider both addition and subtractions to have comparable cost.

  24. Section 2.2.2 Unsigned Encodings • There is only one standard way of encoding unsigned integers. • Bit vector x = [xw-1, xw-2, …, x1, x0] with w bits • Binary to unsigned number: B2Uw(x)=2w-1xw-1+2w-2 xw-2++21 x1+20 x0 • Each integer between 0 and 2w-1 has a unique representation with w bits.

  25. Section 2.2.2 Unsigned Encodings • Examples: B2U4([0011])=0x23+0x22+1x21+1x20=3 B2U4([1011])=1x23+0x22+1x21+1x20=11

  26. Section 2.3.1 Unsigned Addition • w bits, maximum value is 2w-1. • It might take w+1 bits to represent the value of x+y. • Addition is done modulo 2w. • When x+y does not produce the correct result, we say that overflow has occurred. • In C, overflow is not detected. • How can you test whether adding x and y will produce an overflow?

  27. Section 2.3.1 Unsigned Addition • What is

  28. Section 2.3.1 Unsigned Addition • What is Sol: 139+147>28 therefore =(139+147)-28=30

  29. Unsigned Addition and Substraction Unsigned Addition Unsigned Substraction

  30. Section 2.4 IEEE Floating Point

  31. Example: A 6-bit format • What is the bias: 22 -1 = 3. • How many different values can be represented with 6 bits: 26 = 64. • How many of these are NaN: 6 • How many of these are infinity: 2 • How many of these are positive, normalized: 6×4 = 24 • How many of these are negative, normalized: 6×4 = 24 • How many of values are zero (denormalized): 2 • How many of these are denormalized > 0: 3 • How many of these are denormalized < 0: 3

  32. A 6-bit format (continued) • What are the positive normalized values?s = 0; exp = 1, 2, 3, 4, 5, or 6frac = 00, 01, 10, or 11, corresponding to 1.00, 1.01, 1.10, and 1.11 V = 1.frac * 2exp – 3 • Smallest positive normalized number: 0.25

  33. A 6-bit format (continued) • Denormalized values: M = frac * 2-2 = frac/4: 0, .25, .5, .75value = M 2-2 = M/4.The values are 0, .0625, 0.125, and 0.1875Denormalized spacing: 0.0625 • Largest denormalized number: 0.1875

  34. A 6-bit format (continued) • Denormalized values: M = frac * 2-2 = frac/4: 0, .25, .5, .75value = M × 2-2 = M/4.The values are 0, .0625, 0.125, and 0.1875Denormalized spacing: 0.0625 • Largest denormalized number: 0.1875

  35. A 6-bit format (continued) • The denormalized values are equally spaced: spacing is 0.0625. • The normailzed values are not equally spaced.

  36. Example: Rounding

  37. Example: Rounding

  38. Rounding Example • American Patriot Missile Battery in the first Gulf-War, Feb. 25, 1991, failed to intercept an incoming Iraqi Scud missile. • Disaster Result: 28 soldiers killed • Failure Analysis by the US General Accounting Office (GAO): • The underlying cause was an impression in a numeric calculation.

More Related