1 / 54

CMSC 150 data representation

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.

meir
Download Presentation

CMSC 150 data representation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMSC 150data representation CS 150: Mon 30 Jan 2012

  2. What Happens When…

  3. Steps Of An Executing Program Initially, the program resides as a (binary) file on the disk

  4. Steps Of An Executing Program When you click an icon to start a program…

  5. Steps Of An Executing Program the program is copied from disk into memory (RAM)…

  6. Steps Of An Executing Program so the program can be executed by the CPU…

  7. 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 …

  8. A Program in Memory 01010010 127 128 01010110 129 01110010 130 11010010 10110010 131 Instructions 132 10111110 133 11100000 134 00000001 . . . … 01010010 11100000 …

  9. A Program in Memory 01010010 127 128 01010110 129 01110010 130 11010010 10110010 131 Instructions 132 10111110 133 11100000 134 00000001 . . . Data … 01010010 11100000 …

  10. 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? …

  11. 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)

  12. 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)

  13. 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

  14. 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

  15. Example: A Famous Number • Anyone recognize this number ? 100001000101111111101101

  16. Example: A Famous Number • Anyone recognize this number ? • 8,675,30910 = ?????????????????????2 • What is 210 ?

  17. Example: A Famous Number • Anyone recognize this number ? • 8,675,30910 = ?????????????????????2 • What is 210 ? 220 ?

  18. Example: A Famous Number • Anyone recognize this number ? • 8,675,30910 = ?????????????????????2 • What is 210 ? 220 ? 230 ?

  19. Example: A Famous Number • Anyone recognize this number ? • 8,675,30910 = ?????????????????????2 • What is 210 ? 220 ? 230 ? 225 ?

  20. 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

  21. To the whiteboard, Robin !

  22. Example: A Famous Number • Anyone recognize this number ? • 8,675,30910 = 1000010001011111111011012 • Fewer available digits in binary more space required for representation

  23. Converting Binary to Decimal • For each 1, add the corresponding power of two • 10100101111012

  24. Converting Binary to Decimal • For each 1, add the corresponding power of two • 10100101111012 = 530910

  25. 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

  26. Why Binary? • Circuits: low voltage == 0, high voltage == 1

  27. Why Binary? • Circuits: low voltage == 0, high voltage == 1

  28. Why Binary? • Circuits: low voltage == 0, high voltage == 1 Half Adder A + B sum A + B carry

  29. An Alternative to Binary? • 1000010001011111111011012 = 8,675,30910 • 1000001001011111111011012 = 8,544,23710

  30. An Alternative to Binary? • 1000010001011111111011012 = 8,675,30910 • 1000001001011111111011012 = 8,544,23710 What if this was km to landing?

  31. 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

  32. 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".

  33. 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

  34. 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?

  35. 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

  36. 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?

  37. 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

  38. Binary vs. Hex

  39. Converting Binary to Hex • Moving right to left, group into bits of four • Convert each four-group to corresponding hex digit • 1000010001011111111011012

  40. 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

  41. 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

  42. Converting Hex to Binary • Convert each hex digit to four-bit binary equivalent • BEEF16 = ????2

  43. Converting Hex to Binary • Convert each hex digit to four-bit binary equivalent • BEEF16 = 1011 1110 1110 11112

  44. 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)

  45. ASCII: American Standard Code for Information Interchange

  46. ASCII: American Standard Code for Information Interchange 'A' = 6510 = 010000012 'c' = 9910 = 011000112 '8' = 5610 = 001110002

  47. ASCII: American Standard Code for Information Interchange 256 total characters… How many bits needed?

  48. 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

  49. You Control The Information • What is this? 01001101

  50. 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

More Related