Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013 1.

Similar presentations


Presentation on theme: "Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013 1."— Presentation transcript:

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

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 2

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.) 3

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 4

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 5

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 6

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 7

8 Practice Problem 1 - Bit-level Operations in C C expressionBinary RepresentationBinary ResultHexadecimal result ~0x41~[0100 0001][1011 1110]0x BE ~0x00 0x69 & 0x55 0x69 | 0x55 8

9 Practice Problem 1 - Bit-level Operations in C C expressionBinary RepresentationBinary ResultHexadecimal result ~0x41~[0100 0001][1011 1110]0x BE ~0x00~[0000 0000][1111 1111]0x FF 0x69 & 0x55[0110 1001]&[0101 0101][0100 0001]0x 41 0x69 | 0x55[0110 1001]|[0101 0101][0111 1101]0x 7D 9

10 Practice Problem 2 - Boolean Operations (bit-level and logical operation in C) ExpressionValueExpressionValue x & yx && y x| yx || y ~x | ~y!x ||!y x & !yx && ~y 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: 10

11 Practice Problem 2 - Boolean Operations (bit-level and logical operation in C) ExpressionValueExpressionValue x & y0x20x && y0x 1 x| y0x7Fx || y0x 1 ~x | ~y0x DF!x ||!y0x 0 x & !y0x 0x && ~y0x 1 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

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

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

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

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

16 Representing Integers +NPositive int-NSign & Mag2's complement1's complement +0 -0 +1 +2-2 +3 -3 +4 -4 +5 -5 +6 -6 +7 -7 -8 16

17 Section 2.2.1 Integer Representation 17 C data typeBytesMinimumMaximum char1-128127 unsigned char10255 short (int)2-32,76832,767 unsigned short (int)2065,535 int4-2,147,483,6482,147,483,647 unsigned (int)404,294,967,295 long (int)4-2,147,483,6482,147,483,647 unsigned long (int)404,294,967,295 long long (int)8-9,223,372,036,854,775,8089,223,372,036,854,775,807 Unsigned long long (int)8018,446,744,073,709,551,615 Typical range for C integral data type on 32-bit machine

18 Section 2.2 Integer Representation 18 Typical range for C integral data type on 64-bit machine C data typeBytesMinimumMaximum char1-128127 unsigned char10255 short (int)2-32,76832,767 unsigned short (int)2065,535 int4-2,147,483,6482,147,483,647 unsigned (int)404,294,967,295 long (int)8-9,223,372,036,854,775,8089,223,372,036,854,775,807 unsigned long (int)8018,446,744,073,709,551,615 long long (int)8-9,223,372,036,854,775,8089,223,372,036,854,775,807 Unsigned long long (int)8018,446,744,073,709,551,615

19 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

20 ASCII Code A compact table in hex and decimal 20

21 Section 2.1.10 Shift Operations X =[x n-1,x n-2,…, x 1, x 0 ] Left shift: x << k (C expression) – Result: [x n-k-1, x n-k-2, …, x 0, 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,x n-1, x n-2, …, x k ] – Arithmetic shift: x >> A k Result: [x n-1,…, x n-1, x n-1, …, xk] 21

22 Section 2.1.10 Shift Operations x << k is equivalent to multiply by 2 k, x*2 k x >> A k is equivalent to divide by 2 k, x/2 k 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

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

24 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 KShiftsAdd/SubsExpression 621 3111 -621 5522

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

26 Section 2.2.2 Unsigned Encodings Examples: B2U 4 ([0011])=0x2 3 +0x2 2 +1x2 1 +1x2 0 =3 B2U 4 ([1011])=1x2 3 +0x2 2 +1x2 1 +1x2 0 =11 26

27 Section 2.3.1 Unsigned Addition w bits, maximum value is 2 w -1. It might take w+1 bits to represent the value of x+y. Addition is done modulo 2 w. 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

28 Section 2.3.1 Unsigned Addition What is 28

29 Section 2.3.1 Unsigned Addition What is Sol: 139+147>2 8 therefore =(139+147)-2 8 =30 29

30 Unsigned Addition and Substraction 30 Unsigned Addition Unsigned Substraction

31 Section 2.4 IEEE Floating Point 31 Number of bits Precisionsexpfractotal single182332 double1115264 extended1156480

32 Example: A 6-bit format What is the bias: 2 2 -1 = 3. How many different values can be represented with 6 bits: 2 6 = 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 sexp (3 bits)frac (2 bits)

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

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

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

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

37 Example: Rounding 37 Mode1.41.61.52.5-1.5 Round-to-even Round-towards-zero Round-down Round-up

38 Example: Rounding 38 Mode1.41.61.52.5-1.5 Round-to-even1222-2 Round-towards-zero1112 Round-down1112-2 Round-up2223

39 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. 39


Download ppt "Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013 1."

Similar presentations


Ads by Google