400 likes | 665 Views
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
E N D
Chapter 2 Representing and Manipulating Information Prof. QiTian 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 • Practice Problems for Midterm One
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.)
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
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
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
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
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:
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:
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
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
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
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)
Section 2.2.1 Integer Representation Typical range for C integral data type on 32-bit machine
Section 2.2 Integer Representation Typical range for C integral data type on 64-bit machine
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.
ASCII Code • A compact table in hex and decimal
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]
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.
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)
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.
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-1xw-1+2w-2 xw-2++21 x1+20 x0 • Each integer between 0 and 2w-1 has a unique representation with w bits.
Section 2.2.2 Unsigned Encodings • Examples: B2U4([0011])=0x23+0x22+1x21+1x20=3 B2U4([1011])=1x23+0x22+1x21+1x20=11
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?
Section 2.3.1 Unsigned Addition • What is
Section 2.3.1 Unsigned Addition • What is Sol: 139+147>28 therefore =(139+147)-28=30
Unsigned Addition and Substraction Unsigned Addition Unsigned Substraction
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
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
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
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
A 6-bit format (continued) • The denormalized values are equally spaced: spacing is 0.0625. • The normailzed values are not equally spaced.
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.