Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

32
Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009

Transcript of Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Page 1: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Chapter 3 Data Representation

Dr. Bernard Chen Ph.D.University of Central Arkansas

Spring 2009

Page 2: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Data Types The data types stored in digital computers

may be classified as being one of the following categories:

1. numbers used in arithmetic computations, 2. letters of the alphabet used in data processing,

and 3. other discrete symbols used for specific

purposes.

All types of data are represented in computers in binary-coded form.

Page 3: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Radix representation of numbers

• Radix or base: is the total number of symbols used to represent a value. A number system of radix r uses a string consisting of r distinct symbols to represent a value.

Page 4: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Radix representation of numbers Example: convert the following number

to the radix 10 format. 97654.35

The positions indicate the power of the radix.

Start from the decimal point right to left we get 0,1,2,3,4 for the whole numbers.

And from the decimal point left to right We get -1, -2 for the fractions= 9x104 + 7x103 + 6x102 + 5x101 + 4x100 +

3x10-1 + 5x10-2

Page 5: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Binary Numbers

Binary numbers are made of binary digits (bits): 0 and 1

Convert the following to decimal (1011)2 = 1x23 + 0x22 + 1x21 + 1x20 =

(11)10

Page 6: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Example

Use radix representation to convert the binary number (101.01) into decimal.

The position value is power of 2

1 0 1. 0 1

22 21 20 2-1 2-2

4 + 0 + 1 + 0 + 1/22 = 5.25 (101.01)2 (5.25)10

= 1 x 22 + 0 x 2 + 1 + 0 x 2-1 + 1 x 2-2

Page 7: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Binary Addition

1 1 1 1 0 1+ 1 0 1 1 1---------------------

0

1

0

1

1

1111

1 1 00

carries

Example Add (11110)2 to (10111)2

(111101)2 + (10111) 2 = (1010100)2carry

Page 8: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Binary Subtraction We can also perform subtraction (with borrows). Example: subtract (10111) from (1001101)

1 100 10 10 0 0 10

1 0 0 1 1 0 1- 1 0 1 1 1------------------------ 0 1 1 0 1 1 0

borrows

1+1=2

(1001101)2 - (10111)2 = (0110110)2

Page 9: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

The Growth of Binary Numbers

n 2n

0 20=1

1 21=2

2 22=4

3 23=8

4 24=16

5 25=32

6 26=64

7 27=128

n 2n

8 28=256

9 29=512

10 210=1024

11 211=2048

12 212=4096

20 220=1M

30 230=1G

40 240=1T

Mega

Giga

Tera

Page 10: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Octal Numbers

Octal numbers (Radix or base=8) are made of octal digits: (0,1,2,3,4,5,6,7)

How many items does an octal number represent?

Convert the following octal number to decimal(465.27)8 = 4x82 + 6x81 + 5x80 + 2x8-1 + 7x8-2

Page 11: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Counting in Octal

0 1 2 3 4 5 6 7

10 11 12 13 14 15 16 17

20 21 22 23 24 25 26 27

Page 12: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Conversion Between Number Bases

Decimal(base 10)

Octal(base 8)

Binary(base 2)

Hexadecimal

(base16)° We normally convert to base 10

because we are naturally used to the decimal number system.

° We can also convert to other number systems

Page 13: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting an Integer from Decimal to Another Base

1. Divide the decimal number by the base (e.g. 2)

2. The remainder is the lowest-order digit

3. Repeat the first two steps until no divisor remains.

4. For binary the even number has no remainder ‘0’, while the odd has ‘1’

For each digit position:

Page 14: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting an Integer from Decimal to Another Base

Example for (13)10:

IntegerQuotient

13/2 = (12+1)½ a0 = 1

6/2 = ( 6+0 )½ a1 = 0

3/2 = (2+1 )½ a2 = 1 1/2 = (0+1) ½ a3 = 1

Remainder Coefficient

Answer (13)10 = (a3 a2 a1 a0)2 = (1101)2

Page 15: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting a Fraction from Decimal to Another Base

1. Multiply decimal number by the base (e.g. 2)

2. The integer is the highest-order digit

3. Repeat the first two steps until fraction becomes zero.

For each digit position:

Page 16: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting a Fraction from Decimal to Another Base

Example for (0.625)10:

Integer

0.625 x 2 = 1 + 0.25 a-1 = 10.250 x 2 = 0 + 0.50 a-2 = 00.500 x 2 = 1 + 0 a-3 = 1

Fraction Coefficient

Answer (0.625)10 = (0.a-1 a-2 a-3 )2 = (0.101)2

Page 17: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

DECIMAL TO BINARY CONVERSION(INTEGER+FRACTION)

(1) Separate the decimal number into integer and fraction parts.

(2) Repeatedly divide the integer part by 2 to give a quotient and a remainder andRemove the remainder. Arrange the sequence of remainders right to left from the period. (Least significant bit first)

(3) Repeatedly multiply the fraction part by 2 to give an integer and a fraction partand remove the integer. Arrange the sequence of integers left to right from the period. (Most significant fraction bit first)

Page 18: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

(Example) (41.6875)10 (?)2

Integer = 41, Fraction = 0.6875

The first procedure produces

41 = 32+8+1

= 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 0 x 2 + 1 = (101001)

Integer remainder

41 /2 1

20 0

10 0

5 1

2 0

1 1

Overflow Fraction

X by 2 .6875

1 .3750

0 .750

1 .5

1 0

.Closer to

the point

Page 19: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting an Integer from Decimal to Octal

1. Divide decimal number by the base (8)

2. The remainder is the lowest-order digit

3. Repeat first two steps until no divisor remains.

For each digit position:

Page 20: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting an Integer from Decimal to Octal

Example for (175)10:

IntegerQuotient

175/8 = 21 + 7/8 a0 = 7 21/8 = 2 + 5/8 a1 = 5 2/8 = 0 + 2/8 a2 = 2

Remainder Coefficient

Answer (175)10 = (a2 a1 a0)2 = (257)8

Page 21: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting an Integer from Decimal to Octal

1. Multiply decimal number by the base (e.g. 8)

2. The integer is the highest-order digit

3. Repeat first two steps until fraction becomes zero.

For each digit position:

Page 22: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting an Integer from Decimal to Octal

Example for (0.3125)10:

Integer

0.3125 x 8 = 2 + 0.5 a-1 = 20.5000 x 8 = 4 + 0 a-2 = 4

Fraction Coefficient

Answer (0.3125)10 = (0.24)8

Combine the two (175.3125)10 = (257.24)8

Remainder of division

Overflow of multiplication

Page 23: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Hexadecimal Numbers Hexadecimal numbers are made of 16 symbols:

(0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F) Convert a hexadecimal number to decimal

(3A9F)16 = 3x163 + 10x162 + 9x161 + 15x160 = 1499910 Hexadecimal with fractions:

(2D3.5)16 = 2x162 + 13x161 + 3x160 + 5x16-1 = 723.312510

Note that each hexadecimal digit can be represented with four bits.

(1110) 2 = (E)16

Groups of four bits are called a nibble. (1110) 2

Page 24: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Example Convert the decimal number

(107.00390625)10 into hexadecimal number.

(107.00390625)10 (6B.01)16

Integer remainder

107 Divide/16

6 11=B

0 6

Overflow

Fraction

X by 16 . 00390625

0 .0625

1 .0000

.Closer to

the period

Page 25: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

One to one comparison Binary, octal, and

hexadecimal similar Easy to build circuits

to operate on these representations

Possible to convert between the three formats

Page 26: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting between Base 16 and Base 2

° Conversion is easy!

Determine 4-bit value for each hex digit

° Note that there are 24 = 16 different values of four bits which means each 16 value is converted to four binary bits.

° Easier to read and write in hexadecimal.

° Representations are equivalent!

3A9F16 = 0011 1010 1001 11112

3 A 9 F

Page 27: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Converting between Base 16 and Base 8

1. Convert from Base 16 to Base 2

2. Regroup bits into groups of three starting from right

3. Ignore leading zeros

4. Each group of three bits forms an octal digit (8 is represented by 3 binary bits).

352378 = 011 101 010 011 1112

5 2 3 73

3A9F16 = 0011 1010 1001 11112

3 A 9 F

Page 28: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Example Convert 101011110110011 to a.       octal numberb.      hexadecimal number a.       Each 3 bits are converted to octal :

(101) (011) (110) (110) (011)

5 3 6 6 3 101011110110011 = (53663)8

b.      Each 4 bits are converted to hexadecimal:(0101) (0111) (1011) (0011)

5 7 B 3

101011110110011 = (57B3)16

Conversion from binary to hexadecimal is similar except that the bits divided into groups of four.

Page 29: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Binary Coded Decimal• Binary coded decimal (BCD) represents each decimal digit

with four bits

– Ex. 0011 0010 1001 = 32910

• This is NOT the same as 0011001010012

• Why use binary coded decimal? Because people think in decimal.Digit BCD Code Digit BCD Code

0 0000 5 0101

1 0001 6 0110

2 0010 7 0111

3 0011 8 1000

4 0100 9 1001

3 2 9

Page 30: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

BCD versus other codes

° BCD not very efficient

° Used in early computers (40s, 50s)

° Used to encode numbers for seven-segment displays.

° Easier to read?

(Example)

The decimal 99 is represented by 1001 1001.

Page 31: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

Gray Code • Gray code is not a

number system.– It is an alternative

way to represent four bit data

• Only one bit changes from one decimal digit to the next

• Useful for reducing errors in communication.

• Can be scaled to larger numbers.

Digit Binary Gray Code

0 0000 0000

1 0001 0001

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

11 1011 1110

12 1100 1010

13 1101 1011

14 1110 1001

15 1111 1000

Page 32: Chapter 3 Data Representation Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.

ASCII Code• American Standard Code for Information

Interchange• ASCII is a 7-bit code, frequently used with an 8th

bit for error detection (more about that in a bit).Character ASCII (bin) ASCII

(hex)Decimal Octal

A 1000001 41 65 101

B 1000010 42 66 102

C 1000011 43 67 103

Z

a

1