cmsc 150 data representation n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CMSC 150 data representation PowerPoint Presentation
Download Presentation
CMSC 150 data representation

Loading in 2 Seconds...

play fullscreen
1 / 54

CMSC 150 data representation - PowerPoint PPT Presentation


  • 50 Views
  • Uploaded on

CMSC 150 data representation. CS 150: Mon 30 Jan 2012. What Happens When…. Steps Of An Executing Program. Initially, the program resides as a (binary) file on the disk. Steps Of An Executing Program. When you click an icon to start a program…. Steps Of An Executing Program.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CMSC 150 data representation' - meir


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cmsc 150 data representation

CMSC 150data representation

CS 150: Mon 30 Jan 2012

steps of an executing program
Steps Of An Executing Program

Initially, the program resides as a (binary) file on the disk

steps of an executing program1
Steps Of An Executing Program

When you click an icon to start a program…

steps of an executing program2
Steps Of An Executing Program

the program is copied from disk into

memory (RAM)…

steps of an executing program3
Steps Of An Executing Program

so the program can be executed by the CPU…

a program in memory
A Program in Memory

01010010

127

128

01010110

129

01110010

130

11010010

  • Program: consists of instructions & data
  • Instructions & data stored together in memory

10110010

131

132

10111110

133

11100000

134

00000001

.

.

.

01010010

11100000

a program in memory1
A Program in Memory

01010010

127

128

01010110

129

01110010

130

11010010

10110010

131

Instructions

132

10111110

133

11100000

134

00000001

.

.

.

01010010

11100000

a program in memory2
A Program in Memory

01010010

127

128

01010110

129

01110010

130

11010010

10110010

131

Instructions

132

10111110

133

11100000

134

00000001

.

.

.

Data

01010010

11100000

a program in memory3
A Program in Memory

01010010

127

128

01010110

129

01110010

130

11010010

10110010

131

Instructions

132

10111110

133

11100000

134

00000001

.

.

.

Data

01010010

11100000

How do we interpret these 0's and 1's?

the decimal number system
The Decimal Number System
  • Deci-
  • Base is ten
    • first (rightmost) place: ones (i.e., 100)
    • second place: tens (i.e., 101)
    • third place: hundreds (i.e., 102)
  • Digits available: 0, 1, 2, …, 9 (ten total)
the binary number system
The Binary Number System
  • Bi- (two)
    • bicycle, bicentennial, biphenyl
  • Base two
    • first (rightmost) place: ones (i.e., 20)
    • second place: twos (i.e., 21)
    • third place: fours (i.e., 22)
  • Digits available: 0, 1 (two total)
lingo
Lingo
  • Bit (b): one binary digit (0 or 1)
  • Byte (B): eight bits
  • Prefixes:
    • Kilo (K) = 210 = 1024
    • Mega (M) = 220 = 1,048,576 = 210 K
    • Giga (G) = 230 = 1,073,741,824 = 210 M
    • Tera (T) = 240 = 1,099,511,627,776 = 210 G
    • Peta (P) = 250 = 1,125,899,906,842,624 = 210 T
    • Yotta (Y) = 280 = 1,208,925,819,614,629,174,706,176 = 230 P
representing decimal in binary
Representing Decimal in Binary
  • Moving right to left, include a "slot" for every power of two ≤ your decimal number
  • Then, moving left to right:
    • Put 1 in the slot if that power of two can be subtracted from your total remaining
    • Put 0 in the slot if not
    • Continue until all slots are filled
      • filling to the right with 0's as necessary
example a famous number
Example: A Famous Number
  • Anyone recognize this number ?

100001000101111111101101

example a famous number1
Example: A Famous Number
  • Anyone recognize this number ?
  • 8,675,30910

=

?????????????????????2

  • What is 210 ?
example a famous number2
Example: A Famous Number
  • Anyone recognize this number ?
  • 8,675,30910

=

?????????????????????2

  • What is 210 ? 220 ?
example a famous number3
Example: A Famous Number
  • Anyone recognize this number ?
  • 8,675,30910

=

?????????????????????2

  • What is 210 ? 220 ? 230 ?
example a famous number4
Example: A Famous Number
  • Anyone recognize this number ?
  • 8,675,30910

=

?????????????????????2

  • What is 210 ? 220 ? 230 ? 225 ?
example a famous number5
Example: A Famous Number
  • Anyone recognize this number ?
  • 8,675,30910

=

?????????????????????2

  • What is 210 ? 220 ? 230 ? 225 ?
  • Need 24 places (bits)
    • 223 = 8,388,608
example a famous number6
Example: A Famous Number
  • Anyone recognize this number ?
  • 8,675,30910

=

1000010001011111111011012

  • Fewer available digits in binary

more space required for representation

converting binary to decimal
Converting Binary to Decimal
  • For each 1, add the corresponding power of two
  • 10100101111012
converting binary to decimal1
Converting Binary to Decimal
  • For each 1, add the corresponding power of two
  • 10100101111012 = 530910
now you get the joke
Now You Get The Joke

THERE ARE 10 TYPES OF PEOPLE IN THE WORLD:

THOSE WHO CAN COUNT IN BINARY

AND THOSE WHO CAN'T

why binary
Why Binary?
  • Circuits: low voltage == 0, high voltage == 1
why binary1
Why Binary?
  • Circuits: low voltage == 0, high voltage == 1
why binary2
Why Binary?
  • Circuits: low voltage == 0, high voltage == 1

Half Adder

A + B sum

A + B carry

an alternative to binary
An Alternative to Binary?
  • 1000010001011111111011012 = 8,675,30910
  • 1000001001011111111011012 = 8,544,23710
an alternative to binary1
An Alternative to Binary?
  • 1000010001011111111011012 = 8,675,30910
  • 1000001001011111111011012 = 8,544,23710

What if this was km to landing?

the hexadecimal number system
The Hexadecimal Number System
  • Hexa- (six) Decimal (ten)
  • Base sixteen
    • first (rightmost) place: ones (i.e., 160)
    • second place: sixteens (i.e., 161)
    • third place: two-hundred-fifty-sixes (i.e., 162)
  • Digits available: sixteen total

0, 1, 2, …, 9, A, B, C, D, E, F

wikipedia says
Wikipedia says…
  • Donald Knuth has pointed out that the etymologically correct term is "senidenary", from the Latin term for "grouped by 16".
  • The terms "binary", "ternary" and "quaternary" are from the same Latin construction, and the etymologically correct term for "decimal" arithmetic is "denary".
  • Schwartzman notes that the pure expectation from the form of usual Latin-type phrasing would be "sexadecimal", but then computer hackers would be tempted to shorten the word to "sex".
using hex
Using Hex
  • Can convert decimal to hex and vice-versa
    • process is similar, but using base 16 and 0-9, A-F
  • Most commonly used as a shorthand for binary
  • Avoid this
more about binary
More About Binary
  • How many different things can you represent using binary:
  • with only one slot (i.e., one bit)?
  • with two slots (i.e., two bits)?
  • with three bits?
  • with n bits?
more about binary1
More About Binary
  • How many different things can you represent using binary:
  • with only one slot (i.e., one bit)? 2
  • with two slots (i.e., two bits)? 22 = 4
  • with three bits? 23 = 8
  • with n bits? 2n
binary vs hex
Binary vs. Hex
  • One slot in hex can be one of 16 values

0, 1, 2, …, 9, A, B, C, D, E, F

  • How many bits to represent one hex digit?
  • I.e., how many bits to represent 16 different things?
binary vs hex1
Binary vs. Hex
  • One slot in hex can be one of 16 values

0, 1, 2, …, 9, A, B, C, D, E, F

  • How many bits to represent one hex digit?
  • 4 bits can represent 24 = 16 different values
converting binary to hex
Converting Binary to Hex
  • Moving right to left, group into bits of four
  • Convert each four-group to corresponding hex digit
  • 1000010001011111111011012
converting binary to hex1
Converting Binary to Hex
  • Moving right to left, group into bits of four
  • Convert each four-group to corresponding hex digit
  • 1000 0100 0101 1111 1110 11012
converting binary to hex2
Converting Binary to Hex
  • Moving right to left, group into bits of four
  • Convert each four-group to corresponding hex digit
  • 1000 0100 0101 1111 1110 11012
  • 8 4 5 F E D
  • 1000010001011111111011012 = 845FED16
converting hex to binary
Converting Hex to Binary
  • Convert each hex digit to four-bit binary equivalent
  • BEEF16 = ????2
converting hex to binary1
Converting Hex to Binary
  • Convert each hex digit to four-bit binary equivalent
  • BEEF16 = 1011 1110 1110 11112
representing different information
Representing Different Information
  • So far, everything has been a number
  • What about characters? Punctuation?
  • Idea:
    • put all the characters, punctuation in order
    • assign a unique number to each
    • done! (we know how to represent numbers)
ascii american standard code for information interchange1
ASCII: American Standard Code for Information Interchange

'A' = 6510 = 010000012

'c' = 9910 = 011000112

'8' = 5610 = 001110002

ascii american standard code for information interchange2
ASCII: American Standard Code for Information Interchange

256 total characters…

How many bits needed?

the problem with ascii
The Problem with ASCII
  • What about Greek characters? Chinese?
  • UNICODE: use more bits
    • UTF-8: use 1-4 eight-bit bytes
    • 1,112,064 “code points”
    • backward compatible w/ ASCII
  • How many characters could we represent w/ 32 bits?
    • 232 = 4,294,967,296
you control the information
You Control The Information
  • What is this? 01001101
you control the information1
You Control The Information
  • What is this? 01001101
  • Depends on how you interpret it:
  • 010011012 = 7710
  • 010011012 = 'M'
  • 0100110110 = one million one thousand one hundred & one
  • A machine-language instruction
  • You must be clear on representation and interpretation
strings
Strings…
  • "1000"
  • There are four characters

'1' '0' '0' '0'

  • The binary representation is

00110001 00110000 00110000 00110000

  • 100010 = 11111010002
strings1
Strings…
  • "1000"
  • There are four characters

'1' '0' '0' '0'

  • The binary representation is

00110001 00110000 00110000 00110000

  • 100010 = 11111010002

“1234” ≠ 1234

one last thing
One Last Thing…
  • Real valued (AKA floating point) numbers?
  • Round-off error!
  • FLOPS: Floating Point Operations Per Second
one last thing1
One Last Thing…
  • Real valued (AKA floating point) numbers?
  • Round-off error!
  • FLOPS: Floating Point Operations Per Second