QUIZ: Generations of computer technology Hardware: 1. 2. 3. 4. 5. 1
QUIZ: Generations of computer technology Software: 1. 2. 3. 4. 5. 6. 2
Steampunk! 3
The Telectroscope, 1878-2008 Steampunk Wikipedia article 4
Chapter 2 Binary Values and Number Systems We are here!
Numbers Natural numbers, a.k.a. positive integers Zero and any number obtained by repeatedly adding one to it. Examples: 100, 0, 45645, 32 Negative numbers A value less than 0, with a sign Examples: -24, -1, -45645, -32 6 2
Integers A natural number, a negative number, zero Examples: 249, 0, - 45645, - 32 Rational numbers An integer or the quotient of two integers Examples: -249, -1, 0, 3/7, -2/5 Real numbers In general cannot be represented as the quotient of any two integers. They have an infinite # of fractional digits. Example: Pi = 3.14159265 7 3
2.2 Positional notation How many ones (units) are there in 642? 600 + 40 + 2 6 x 100 + 4 x 10 + 2 x 1 6 x 10 2 + 4 x 10 1 + 2 x 10 0 10 is called the base This is called the polynomial expansion of the number We also write 642 10 8 4
QUIZ How many units are there in 642 9 (642 in base nine)? Hint: Convert it to decimal using the polynomial expansion, as in the previous example: 600 + 40 + 2 6 x 100 + 4 x 10 + 2 x 1 6 x 10 2 + 4 x 10 1 + 2 x 10 0 9 4
Solution 6 x 9 2 + 4 x 9 1 + 2 x 9 0 = 524 10 Final answer: 642 9 = 524 10 10 4
Positional Notation The base (a.k.a. radix) of a number determines how many digits are used and the value of each digit s position. To be specific: In base R, there are R digits, from 0 to R-1. The positions have for values the powers of R, from right to left: R 0, R 1, R 2, 11 5
Positional Notation Formula: R is the base of the number d n * R n-1 + d n-1 * R n-2 +... + d 2 * R + d 1 n is the number of digits in the number d is the digit in the i th position in the number 12 7
Positional Notation reloaded The text shows the digits numbered like this: d n * R n-1 + d n-1 * R n-2 +... + d 2 * R + d 1 but, in CS, the digits are numbered from zero, to match the power of the base: d n-1 * R n-1 + d n-2 * R n-2 +... + d 1 * R 1 + d 0 * R 0 13 7
QUIZ Convert 642 in base 13 to decimal. 14 68
Solution + 6 x 13 2 = 6 x 169 = 1014 + 4 x 13 1 = 4 x 13 = 52 + 2 x 13º = 2 x 1 = 2 = 1068 in base 10 Final answer: 642 13 = 1068 10 15 68
Nota bene! In a given base R, the digits range from 0 up to R 1 R itself cannot be a digit in base R Trick problem: Convert the number 473 from base 6 to base 10 16
Binary Decimal is base 10 and has 10 digits: 0,1,2,3,4,5,6,7,8,9 Binary is base 2 and has 2 digits: 0,1 17 9
QUIZ: Converting Binary to Decimal What is the decimal equivalent of the binary number 110 1110? 110 1110 2 =??? 10 18 13
What is the decimal equivalent of the binary number 1101110? 1 x 2 6 = 1 x 64 = 64 + 1 x 2 5 = 1 x 32 = 32 + 0 x 2 4 = 0 x 16 = 0 + 1 x 2 3 = 1 x 8 = 8 + 1 x 2 2 = 1 x 4 = 4 + 1 x 2 1 = 1 x 2 = 2 + 0 x 2º = 0 x 1 = 0 = 110 in base 10 = 110 10 19 13
Base 8 = octal system What is the decimal equivalent of the octal number 642? 642 8 =??? 10 20 11
Converting Octal to Decimal What is the decimal equivalent of the octal number 642? 6 x 8 2 = 6 x 64 = 384 + 4 x 8 1 = 4 x 8 = 32 + 2 x 8º = 2 x 1 = 2 Add the above = 418 in base 10 = 418 10 21 11
Bases Higher than 10 How are digits in bases higher than 10 represented? Base 16 (hexadecimal, a.k.a. hex) has 16 digits: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E, F 22 10
Converting Hexadecimal to Decimal What is the decimal equivalent of the hexadecimal number DEF? D x 16 2 = 13 x 256 = 3328 + E x 16 1 = 14 x 16 = 224 + F x 16º = 15 x 1 = 15 = 3567 in base 10 23
QUIZ: 2AF 16 =??? 10 24
Are there any non-positional number systems? Hint: Why did the Roman civilization have no contributions to mathematics? 25
QUIZ: Convert to decimal 0001 0011 2 = C7 16 = 42 6 = 71 8 = 26
Today we ve covered pp.33-39 of text (stopped before Arithmetic in Other Bases) Solve in notebook as individual work for next class: 1, 2, 3, 4, 5, 20, 21 27
QUIZ: Convert to decimal using polynomial expansion: 1101 0011 2 = AB7 16 = 513 7 = 692 8 = 28
The inverse problem: Converting Base 10 to Other Bases Algorithm for converting a number in base 10 to any other base R: While (the quotient is not zero) Divide the decimal number by R Make the remainder the next digit to the left in the answer Replace the original decimal number with the quotient Known as repeated division (by the base) 29 19
Converting Decimal to Binary Example: Convert 179 10 to binary 179 2 = 89 rem. 1 2 = 44 rem. 1 2 = 22 rem. 0 2 = 11 rem. 0 MSB LSB 2 = 5 rem. 1 2 = 2 rem. 1 2 = 1 rem. 0 179 10 = 10110011 2 2 = 0 rem. 1 Notes: The first bit obtained is the rightmost (a.k.a. LSB) The algorithm stops when the quotient (not the remainder!) becomes zero 30 19
Repeated division QUIZ Convert 42 10 to binary 42 2 = rem. Final answer: 42 10 = 2 31 19
The repeated division algorithm can be used to convert from any base into any other base (but normally we use it only for 10 2) For next time: Read text example on p.43: Converting Decimal to Hex using repeated division 32
Addition in Binary Remember that there are only 2 digits in binary, 0 and 1 1 + 1 is 0 with a carry 0 1 1 1 1 1 1 0 1 0 1 1 1 +1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 Carry Values 33 14
Addition QUIZ 1 0 1 0 1 1 0 +1 0 0 0 0 1 1 Carry values go here Check in base ten! 34 14
Putting it all together! Computer hardware Python (or another high-level language) Convert decimal to binary Compute in binary 1 1001 + 101 1110 Convert binary to decimal 35
Direct conversions between bases that are powers of 2 binary hexadecimal octal 36
Converting Binary to Octal Mark groups of three (from right) Convert each group 10101011 10 101 011 2 5 3 10101011 is 253 in base 8 37 17
Converting Binary to Hexadecimal Mark groups of four (from right) Convert each group 10101011 1010 1011 A B 10101011 is AB in base 16 38 18
Extra-credit QUIZ: 39
Conclusion: We can convert from hex to octal, using binary as a stepping-stone! binary hexadecimal octal 40
Converting Octal to Hexadecimal End-of-chapter ex. 25: Explain how base 8 and base 16 are related 10 101 011 1010 1011 2 5 3 A B 253 in base 8 = AB in base 16 41 18
End-of-chapter ex.37 Perform the following octal additions: a. 770 + 665 b. 101 + 707 42 14
SKIP: Binary SUBTRACTION (with borrow bits) p.40 of text FYI, a few slides are provided at the end of this document. 43
Today we ve covered pp.36-43 of text (stopped before Binary Values and Computers) Solve in notebook as individual work for next class: 6 through 11 44
Addition QUIZ 1 1 1 0 1 1 0 +1 0 0 0 1 1 1 Carry values go here 45 14
Solution 1 0 0 0 1 1 0 1 1 1 0 1 1 0 +1 0 0 0 1 1 1 1 0 1 1 1 1 0 1 Carry values Check in base ten! 46 14
End-of-chapter ex.37 Perform the following octal additions: c. 202 + 667 47 14
Counting 48
Basic skill: counting (in any base!) 0, 1, 2, 3, 4, 5, 0, 1, 10, 11, 100, 101, 49
Hex 50
Conclusion: In order to represent any octal digit, we need bits In order to represent any hex digit, we need bits 51
If we have 3 bits, we can create (how many?) different combinations of 0s and 1s. If we have 4 bits, we can create (how many?) different combinations of 0s and 1s. If we have 5 bits, we can create (how many?) different combinations of 0s and 1s. If we have N bits, we can create (how many?) different combinations of 0s and 1s. 52
If we have 3 bits, we can create 2 3 = 8 different combinations of 0s and 1s. If we have 4 bits, we can create 2 4 = 16 different combinations of 0s and 1s. If we have 5 bits, we can create 2 5 = 32 different combinations of 0s and 1s. If we have N bits, we can create 2 N different combinations of 0s and 1s. 53
Your turn: Source: AP CS Principles Course and Exam Descriptions
Binary and Computers Word = group of bits that the computer processes at a time The number of bits in a word determines the word length of the computer. It is usually a multiple of 8. 1 Byte = 8 bits 8, 16, 32, 64-bit computers 128? 256? 55 23
Grace Murray Hopper Ph.D. in mathematics Wrote A-0, the world s first compiler, in 1952! Co-invented COBOL Rear-admiral of the US Navy Nanosecond wires 56
Grace also liked telling this story Harvard University Mark II Aiken Relay Calculator 57
Ethical Issues Tenth Strand What do the following acronyms stand for: ACM? IEEE? What is the tenth strand? Why the tenth? 58
Why the tenth? 59 A: In the 1989 ACM report ( Computing as a Discipline p.12), the following 9 areas (strands) of CS were defined: Algorithms and data structures Programming languages Computer Architecture Numerical and symbolic computations Operating systems (OS) Software engineering Databases Artificial intelligence (AI) Human-computer interaction
Ethical Issues Tenth Strand The latest official release of the IEEE/ACM CS Curriculum was in 2013: There are now 18 knowledge areas (KA), and the tenth strand is listed last: SP area. 60
Ethical Issues Tenth Strand The full text of the 2013 IEEE/ACM CS Curricula is posted on our webpage The SP area is described on pp.192-203. 61
Chapter Review questions Describe positional notation (polynomial in the base) Convert numbers in other bases to base 10 Convert base-10 numbers to numbers in other bases, esp. binary Add and subtract in binary Convert between bases 2, 8, and 16 using groups of digits Count in any base, esp. binary Explain the importance in CS of the bases that are powers of 2 What is the IEEE/ACM CS Curriculum and what are three issues in the Tenth Strand? 62 6
Homework for Ch.2 End-of-ch. 23, 24, 25, 28, 29, 30, 33, 38 Due next Wednesday, Sep.15 The latest homework assigned is always available on the course webpage! (agapie.net) 63
FYI: Subtraction in Binary Remember borrowing? 1 2 0 2 0 2 1 0 1 0 1 1 1-1 1 1 0 1 1 0 0 1 1 1 0 0 Borrow values Check in base ten! 64 15
Subtraction QUIZ 1 0 1 0 0 0 0-1 0 0 1 0 1 Borrow values go here Check in base ten! 65 15
Subtraction QUIZ 1 1 1 0 1 0 0-1 1 0 1 1 1 Borrow values go here Check in base ten! 66 15
Another subtraction QUIZ 1 0 1 0 0 0 1-1 0 0 1 1 1 Borrow values go here Check in base ten! 67 15