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

Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Sep 06, 2018

Download

Documents

donhu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Chapter 2 Representing and Manipulating Information

Prof. Qi Tian

CS 3843 Fall 2013

http://www.cs.utsa.edu/~qitian/CS3843/

1

Page 2: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 3: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 4: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 5: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 6: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 7: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 8: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Practice Problem 1 - Bit-level Operations in C

C expression Binary Representation Binary Result Hexadecimal result

~0x41 ~[0100 0001] [1011 1110] 0x BE

~0x00

0x69 & 0x55

0x69 | 0x55

8

Page 9: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Practice Problem 1 - Bit-level Operations in C

C expression Binary Representation Binary Result Hexadecimal 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

Page 10: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Practice Problem 2 - Boolean Operations (bit-level and logical operation in C)

Expression Value Expression Value

x & y x && y

x| y x || y

~x | ~y !x ||!y

x & !y x && ~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

Page 11: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Practice Problem 2 - Boolean Operations (bit-level and logical operation in C)

Expression Value Expression Value

x & y 0x20 x && y 0x 1

x| y 0x7F x || y 0x 1

~x | ~y 0x DF !x ||!y 0x 0

x & !y 0x 0 x && ~y 0x 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

Page 12: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 13: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

N

Page 14: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 15: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

N

Page 16: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Section 2.2.1 Integer Representation

17

C data type Bytes Minimum Maximum char 1 -128 127

unsigned char 1 0 255

short (int) 2 -32,768 32,767

unsigned short (int) 2 0 65,535

int 4 -2,147,483,648 2,147,483,647

unsigned (int) 4 0 4,294,967,295

long (int) 4 -2,147,483,648 2,147,483,647

unsigned long (int) 4 0 4,294,967,295

long long (int) 8 -9,223,372,036,854,775,808 9,223,372,036,854,775,807

Unsigned long long (int) 8 0 18,446,744,073,709,551,615

Typical range for C integral data type on 32-bit machine

Page 17: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Section 2.2 Integer Representation

18

Typical range for C integral data type on 64-bit machine

C data type Bytes Minimum Maximum char 1 -128 127

unsigned char 1 0 255

short (int) 2 -32,768 32,767

unsigned short (int) 2 0 65,535

int 4 -2,147,483,648 2,147,483,647

unsigned (int) 4 0 4,294,967,295

long (int) 8 -9,223,372,036,854,775,808 9,223,372,036,854,775,807

unsigned long (int) 8 0 18,446,744,073,709,551,615

long long (int) 8 -9,223,372,036,854,775,808 9,223,372,036,854,775,807

Unsigned long long (int) 8 0 18,446,744,073,709,551,615

Page 18: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 19: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

ASCII Code

• A compact table in hex and decimal

20

Page 20: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 21: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 22: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 23: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

K Shifts Add/Subs Expression

6 2 1

31 1 1

-6 2 1

55 2 2

Page 24: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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.

25

Page 25: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Section 2.2.2 Unsigned Encodings

• Examples:

B2U4([0011])=0x23+0x22+1x21+1x20=3

B2U4([1011])=1x23+0x22+1x21+1x20=11

26

Page 26: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 27: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Section 2.3.1 Unsigned Addition

• What is

28

Page 28: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Section 2.3.1 Unsigned Addition

• What is

Sol:

139+147>28 therefore =(139+147)-28=30

29

Page 29: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Unsigned Addition and Substraction

30

Unsigned Addition

Unsigned Substraction

Page 30: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Section 2.4 IEEE Floating Point

31

Number of bits

Precision s exp frac total

single 1 8 23 32

double 1 11 52 64

extended 1 15 64 80

Page 31: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

s exp (3 bits) frac (2 bits)

Page 32: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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 * 2exp – 3

• Smallest positive normalized number: 0.25

33

Page 33: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 34: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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

Page 35: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

A 6-bit format (continued)

36

• The denormalized values are equally spaced: spacing is 0.0625. • The normailzed values are not equally spaced.

Page 36: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Example: Rounding

37

Mode 1.4 1.6 1.5 2.5 -1.5

Round-to-even

Round-towards-zero

Round-down

Round-up

Page 37: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

Example: Rounding

38

Mode 1.4 1.6 1.5 2.5 -1.5

Round-to-even 1 2 2 2 -2

Round-towards-zero 1 1 1 2 -1

Round-down 1 1 1 2 -2

Round-up 2 2 2 3 -1

Page 38: Chapter 2 Representing and Manipulating Informationqitian/CS3843/Fall2013/Lecture/Chapter2.pdf · Chapter 2 Representing and Manipulating Information Prof. Qi Tian CS 3843 Fall 2013

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