unit: data and representation goal: learn how 0,1 can be used to represent numbers, text, images,...

43
UNIT: Data and UNIT: Data and Representation Representation Goal: Learn how 0,1 can be used to Goal: Learn how 0,1 can be used to represent numbers, text, images, represent numbers, text, images, sound. sound. Facility with binary numbers Facility with binary numbers Understand methods of text Understand methods of text compression compression Understand concepts such as Understand concepts such as discretization/digitization, bit discretization/digitization, bit depth, resolution, sampling, in the depth, resolution, sampling, in the context of images and sound. context of images and sound.

Upload: piers-ford

Post on 23-Dec-2015

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

UNIT: Data and UNIT: Data and RepresentationRepresentation

Goal: Learn how 0,1 can be used to Goal: Learn how 0,1 can be used to represent numbers, text, images, represent numbers, text, images, sound.sound.– Facility with binary numbersFacility with binary numbers– Understand methods of text compressionUnderstand methods of text compression– Understand concepts such as Understand concepts such as

discretization/digitization, bit depth, discretization/digitization, bit depth, resolution, sampling, in the context of resolution, sampling, in the context of images and sound.images and sound.

Page 2: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Representations are Representations are Arbitrary!Arbitrary!

'When 'When II use a word,' Humpty use a word,' Humpty Dumpty said, in a rather Dumpty said, in a rather scornful tone,' it means just scornful tone,' it means just what I choose it to mean, what I choose it to mean, neither more nor less.‘neither more nor less.‘

'The question is,' said Alice, 'The question is,' said Alice, 'whether you 'whether you cancan make make words mean so many words mean so many different things.different things.

''The question is,' said Humpty ''The question is,' said Humpty Dumpty, 'which is to be Dumpty, 'which is to be master - that's all.'master - that's all.'

Page 3: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Symbols & RepresentationSymbols & Representation

““analogous”analogous”

Page 4: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Symbols & RepresentationSymbols & Representation

““abstract”abstract”

aattggaagcaaatgacatcacagcaggtcagag…

Page 5: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

DigitalDigital

““Relating to, or resembling a digit”Relating to, or resembling a digit” ““Expressed in discrete numerical Expressed in discrete numerical

form, especially for use by a form, especially for use by a computer or other electronic device”computer or other electronic device”

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23...

Page 6: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Analog or Digital?Analog or Digital?

Page 7: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Number RepresentationsNumber Representations

1/2 + 1/6 + 1/9

5137

011000101000

Page 8: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Analog Digital

are analogous not necessarily analogous

can be continuous discrete symbols

precision a problem add extra digits

errors hard to detect errors easier to detect

requires little decoding requires some decoding

Page 9: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,
Page 10: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Why Binary?Why Binary?

Because 2 is special! It’s the smallest Because 2 is special! It’s the smallest number that’s not 1.number that’s not 1.

So simple a computer could do it!So simple a computer could do it!

Page 11: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Why Binary?Why Binary?

So simple a computer could do it!So simple a computer could do it!

Page 12: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Bits, Bytes, WordsBits, Bytes, Words

Bit = 0 or 1. One character of informationBit = 0 or 1. One character of information Byte = 8 bits. Example: 01101101Byte = 8 bits. Example: 01101101 Word = some number of bytes, depending Word = some number of bytes, depending

on computer. on computer. Typical = 4 bytes = 32 bitsTypical = 4 bytes = 32 bits

““A 32-bit machine”A 32-bit machine”

Word size limits what can be represented Word size limits what can be represented easilyeasily

(more on this later)(more on this later)

Page 13: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

51371

00

0

10

01

0 1

Decimal Numbers….

Page 14: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

67895

0234

1 01

decimal digits binary digits

Binary Numbers….

b its

bits

Page 15: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

16

8 4 2 1

0 1 1 1116 + 4 + 2 + 1 =

23

Page 16: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

16

8 4 2 1

1 1 1 008 + 4 + 2 = 14

Page 17: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

16

8 4 2 1

1 1 0 1116 + 8 + 4 + 1 =

29

Page 18: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

1 1 0 1 8 + 4 + 1 = 13

16

8 4 2 1

Page 19: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

16

8 2 1

Page 20: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,
Page 21: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

There are 10 kinds of people in the world:

-Those who know binary-Those who do not

Page 22: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Other Bases

Base 3: 2012 = 2 x 33 + 0 x 32 + 1 x 31 + 2 x 30

= 2 x 27 + 0 x 9 + 1 x 3 + 2 x 1

= 54 + 0 + 3 + 2

= 59

Page 23: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Other BasesBase 16…. what are the numerals ?

Base 2: {0,1}Base 3: {0,1,2}Base 10: {0,1,2,3,4,5,6,7,8,9}

Base 16: {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

1CF == 1 x 162 + 12 x 161 + 15 x 160

= 256 + 192 + 15 = 463

Page 24: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Word sizeWord size

8 bits:8 bits:

can only represent 11111111 = 255can only represent 11111111 = 255

16 bits: 16 bits:

can represent 1111111111111111 = 65535can represent 1111111111111111 = 65535

32 bits:32 bits:

can represent 4292967295can represent 4292967295

Page 25: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Binary and HexadecimalBinary and Hexadecimal

How do we write 463 How do we write 463 in Binary?in Binary?

463=256 + 128 + 64463=256 + 128 + 64 + 8 + 4 + 2 + 1 + 8 + 4 + 2 + 1

463 = 111001111463 = 111001111 463 = 1 1100 1111463 = 1 1100 1111 463 = 1 C F in Hex463 = 1 C F in Hex

and vice-versa:and vice-versa: 2EA = 0010 1110 2EA = 0010 1110

10101010

00 00000000

11 00000011

22 00100100

33 00100111

44 01001000

55 01001011

66 01101100

77 01101111

88 10001000

99 10011001

A A (10)(10)

10101010

B B (11)(11)

10111011

C C (12)(12)

11001100

D D (13)(13)

11011101

E (14)E (14) 11101110

F (15)F (15) 11111111

Page 26: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Binary Addition

Decimal Addition

8423 6915----------

Binary Addition

1101011 1001101 ------------

see http://www.youtube.com/watch?v=GcDshWmhF4A

Page 27: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Binary Subtraction

What about 1001101 – 1101011?How do we represent negative numbers?

Decimal Subtraction

8423 6915----------

Binary Subtraction

1101011 1001101 ------------ WAIT!

Page 28: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Properties of a Properties of a Good RepresentationGood Representation

Should be simpleShould be simple

Allows us to do useful thingsAllows us to do useful things

Should be efficientShould be efficient

Recovering from errors should be Recovering from errors should be possiblepossible

Page 29: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Negative NumbersNegative Numbers

How would we represent -5 in binary?How would we represent -5 in binary?

Sign-magnitude: use an extra bit for +/-Sign-magnitude: use an extra bit for +/-+ 5 = (+) 101 = 00000101+ 5 = (+) 101 = 00000101- 5 = (-) 101 = 100001015 = (-) 101 = 10000101

(Assumes we have a fixed (known) word size (example above: 8) (Assumes we have a fixed (known) word size (example above: 8) so that we know the first bit represents +/-, not the next power of so that we know the first bit represents +/-, not the next power of 2)2)

What about 0?What about 0?– different 0’s can cause problemsdifferent 0’s can cause problems

Page 30: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Negative NumbersNegative Numbers

Sign-magnitude (use one bit for sign) is Sign-magnitude (use one bit for sign) is perfectly acceptable, with minor perfectly acceptable, with minor inconvenience, but is not as good as a inconvenience, but is not as good as a clever alternative.clever alternative.

““Two’s complement notation” is used. Two’s complement notation” is used. – only one representation of 0only one representation of 0– allows computation of subtraction via additionallows computation of subtraction via addition– a bit confusing on first sight.a bit confusing on first sight.

Page 31: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Towards understanding two’s Towards understanding two’s

complement:complement: Using 1 digit Using 1 digit

Suppose we had the symbols 0 Suppose we had the symbols 0 through 9. How many (positive and through 9. How many (positive and negative) numbers can we negative) numbers can we represent?represent?

Which symbol gets which number?Which symbol gets which number?

Page 32: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

10’s complement10’s complement

representation

01

2

3

45

9

8

7

6

01

2

3

4-5

-1

-2

-3

-4

addition of positive numbers works fine?

OVERFLOW: if sum is more than max positive, it becomes negative: 2+4 = - 4(unavoidable since we have a fixed word size)

value represented

Page 33: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

10’s complement10’s complement

representation

01

2

3

45

9

8

7

6

01

2

3

4-5

-1

-2

-3

-4

addition of positive and negative numbers…

ex: 4-2 = 4 + (-2) represented by 4+8 = 12and 122 on this clock.…works because going clockwise 8 is like going counterclockwise 2

value represented

Page 34: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

10’s complement10’s complement

Addition is moving forward along the Addition is moving forward along the number line, subtraction is moving number line, subtraction is moving backback

A – B = A + (– B)A – B = A + (– B)

Clock DiagramClock Diagram

Page 35: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Using 3 digitsUsing 3 digits

If we had 3 digits, which positive and If we had 3 digits, which positive and negative numbers could we negative numbers could we represent?represent?

What would the representation of -7 What would the representation of -7 be?be?

1000’s clock1000’s clock

Page 36: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

10’s complement10’s complement

0100

200

300

400500

900

800

700

600

000100

200

300

400-500

-100

-200

-300

-400

addition of positive and negative numbers…

…works because going clockwise n is like going counterclockwise 1000-n

representation

value represented

Page 37: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Moving to BinaryMoving to Binary

Using 4 bits, which positive and negative Using 4 bits, which positive and negative numbers can we represent?numbers can we represent?

What is the representation of -5?What is the representation of -5?

Given a binary number, how can we quickly Given a binary number, how can we quickly find out what number it represents?find out what number it represents?

2’s Complement2’s Complement

Page 38: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

2’s complement2’s complement

0000

01

2

3

4-5

-1

-2

-3-4

1000

01001100

00010010

0011

0101

0110

01111001

1010

1011

1101

1110

1111

5-6

-7 -

8

6

7

java int: 32 bits: 231-1 = 2,147,483,647java long: 64 bits: 9,223,372,036,854,775,807

6-4 = 6 + -4 = 0110 + 1100 = 10010

= 0010(ignoring overflow bit)

Page 39: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Real NumbersReal Numbers

16 8 4 2 1

1/4 1/8 1/161/2

Page 40: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

11 0 . 0 1 0 10 . 0 1 0 1

= 2 + 1/4 + 1/16 = 2 + 1/4 + 1/16

= 2 + .25 + .0625= 2 + .25 + .0625

= 2.3125= 2.3125

2 1 1/4 1/8 1/161/2

Page 41: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Recall Scientific NotationRecall Scientific Notation

3204.671 = 3.204671 x 103204.671 = 3.204671 x 1033

.0003671 = 3.671 x 10.0003671 = 3.671 x 10-4-4

MantissaMantissa ExponentExponent

Base 10 representation: (3.671, -4)Base 10 representation: (3.671, -4)

multiplying by 10 is just shifting by one position

Page 42: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

Binary Scientific NotationBinary Scientific Notation

.001101 = 1.101 x 2.001101 = 1.101 x 2-3-3

1101.11 = 1.10111 x 21101.11 = 1.10111 x 233

MantissaMantissa Exponent Exponent Base 2 representation: (1.10111, 11)Base 2 representation: (1.10111, 11) Note, mantissa is always “1” (why?) Note, mantissa is always “1” (why?)

so can just store (10111, 11) so can just store (10111, 11) What if mantissa or exponent is What if mantissa or exponent is

negative?negative?

multiplying by 2 is just shifting by one position

Page 43: UNIT: Data and Representation Goal: Learn how 0,1 can be used to represent numbers, text, images, sound. Goal: Learn how 0,1 can be used to represent numbers,

SummarySummary

Binary notation uses numerals 0,1 Binary notation uses numerals 0,1 and place values that are powers of 2and place values that are powers of 2

Use “clock” to see how negative Use “clock” to see how negative numbers are represented in 2’s numbers are represented in 2’s complement form; subtracting can be complement form; subtracting can be done by adding.done by adding.

Real valued numbers are represented Real valued numbers are represented by a pair of integers: mantissa and by a pair of integers: mantissa and exponentexponent