1320 Principles Of Computer Science I Dr. Thomas Hicks Computer Science Department Trinity University 1
2 Decimal Numeration System
Base 10 (Decimal) 3
4 Binary Numeration System
Binary Convert Base 2 Base 10 5 147
Euler's Process 6 10101111 175 (base 10) = (base 2)
Euler Process (Verbal Description) 7
Practical Usage 8
9 Octal Numeration System
Octal Base 8 Base 10 10 2073
Euler's Process 11 257
Convert Base 8 Base 2 12 10101111
13 Hexadecimal Numeration System
Hexadecimal Base 16 Base 10 14 267
Convert Base 10 Base 16 15 10 a 11 b 12 c 13 d 14 e 15 f
Convert Base 16 Base 2 16 10101111
17 Storage Of Positive Integers
Physical Representation Of Byte In Memory 18 7 7 6 5 4 3 2 1 0 0 1 1 1 1 1 1 1 Byte – 8 bits Bits Are Numbered! High Bit Called The Sign Bit 0 Positive Numbers 1 Negative Numbers Biggest Positive Value (127?) Sign Bit 0 All Other Digits 1
Storage Of Positive Integers 19 7 6 5 4 3 2 1 0 0 1 1 1 1 1 1 1 1 *2 6 + 1 *2 5 + 1 *2 4 + 1 *2 3 + 1 *2 2 + 1 *2 1 + 1 *2 1 = 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127
20 Strategy 1 For Storing Negative Numbers: Sign Magnitude
21 Sign Magnitude Storage Of Negative Integers 7 6 5 4 3 2 1 0 1 1 1 1 1 1 1 1 1 *2 6 + 1 *2 5 + 1 *2 4 + 1 *2 3 + 1 *2 2 + 1 *2 1 + 1 *2 0 = 64 + 32 + 16 + 8 + 4 + 2 + 1 = -127 1 1 1 1 1 1 1
22 Strategy 2 For Storing Negative Numbers: One’s Complement Negative Integers
23 One’s Complement Storage Of Negative Integers 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0 -127 1 *2 6 + 1 *2 5 + 1 *2 4 + 1 *2 3 + 1 *2 2 + 1 *2 1 + 1 *2 0 = 64 + 32 + 16 + 8 + 4 + 2 + 1 = A Take The Sign Magnitude 1 1 1 1 1 1 1 B Invert The Digits 1 0 0 1 0 0 0 0 0 0 0
24 Strategy 3 For Storing Negative Numbers: Two’s Complement Negative Integers
25 Two’s Complement Storage Of Negative Integers Used By Almost All 7 6 5 4 3 2 1 0 Modern Day Computers 1 0 0 0 0 0 0 1 -127 1 *2 6 + 1 *2 5 + 1 *2 4 + 1 *2 3 + 1 *2 2 + 1 *2 1 + 1 *2 0 = 64 + 32 + 16 + 8 + 4 + 2 + 1 = A Take The Sign Magnitude 1 1 1 1 1 1 1 B Invert The Digits 1 0 0 1 0 0 0 0 0 0 0 C Add 1 0 0 0 0 0 0 1
26 Short Just Like Byte ( Except Bit 15 is Sign Bit )
2 Byte Short Integer Container 27 15 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Byte – 16 bits High Bit Called The Sign Bit 0 Positive Numbers 1 Negative Numbers Biggest Positive Value (32,767) Sign Bit 0 All Other Digits 1
28 Int Just Like Byte ( Except Bit 31 is Sign Bit )
29 Long Just Like Byte ( Except Bit 63 is Sign Bit )
30 Scala Conversion Functions
31 toBinaryString toOctalString toHexString T G
32 Byte Container
33 Binary Representation Of 50 in Byte Container 7 6 5 4 3 2 1 0 0 0 1 1 0 0 1 0 Quotient | Remainder 50 | ---------------------------------- 25 | 0 12 | 1 6 | 0 3 | 0 1 | 1 0 | 1
34 Binary Representation Of -50 in Byte Container Two’s Complement 7 6 5 4 3 2 1 0 1 1 0 0 1 1 1 0 Quotient | Remainder 50 | ---------------------------------- 25 | 0 12 | 1 0 0 1 1 0 0 1 0 6 | 0 3 | 0 1 1 0 0 1 1 0 1 1 | 1 0 | 1 1 1 1 0 0 1 1 1 0
35 Short Container
36 Binary Representation Of 160 in Int Container 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 Quotient | Remainder 160 | ---------------------------------- 80 | 0 40 | 0 20 | 0 10 | 0 5 | 0 2 | 1 1 | 0 0 | 1
37 Binary Representation Of -160 in Int Container Two’s Complement 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 Quotient | Remainder 160 | ---------------------------------- 80 | 0 40 | 0 20 | 0 10 | 0 5 | 0 2 | 1 1 | 0 0 | 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0
38 Addition Of Base 2
39 Addition (Base 2) 1 1 1 0 1 1 0 1 1 0 0 1 1 0 1 + --------------------------------- 1
40 Addition (Base 2) 1 1 1 0 1 1 0 + 1 1 0 0 1 1 0 1 --------------------------------- 1 1
41 Addition (Base 2) 1 1 1 1 0 1 1 0 + 1 1 0 0 1 1 0 1 --------------------------------- 0 1 1
42 Addition (Base 2) 1 1 1 1 1 0 1 1 0 + 1 1 0 0 1 1 0 1 --------------------------------- 0 0 1 1
43 Addition (Base 2) 1 1 1 1 1 1 0 1 1 0 + 1 1 0 0 1 1 0 1 --------------------------------- 0 0 0 1 1
44 Addition (Base 2) 1 1 1 1 1 1 1 1 0 1 1 0 + 1 1 0 0 1 1 0 1 --------------------------------- 1 0 0 0 0 1 1
45 Addition (Base 2) 1 1 1 1 1 1 1 1 0 1 1 0 + 1 0 0 1 1 0 1 1 --------------------------------- 1 0 1 0 0 0 0 1 1
46 Addition (Base 2) 1 1 1 0 1 1 0 + 1 0 0 1 1 0 1 1 --------------------------------- 1 0 1 0 0 0 0 1 1
47 Convert To Base 10 118 1 1 1 0 1 1 0 = ______________ (base 10) 64 + 32 + 16 + 4 + 2
48 Convert To Base 10 205 1 1 0 0 1 1 0 1 = ______________ (base 10) + + + 128 64 8 + 4 1
49 Convert To Base 10 323 1 0 1 0 0 0 0 1 1 = __________ (base 10) 256 + 64 + 2 + 1
50 Addition (Base 2) 1 1 1 0 1 1 0 118 + 1 0 0 1 1 0 1 1 205 -------- --------------------------------- 323 1 0 1 0 0 0 0 1 1
51 Subtraction Of Base 2
52 Subtraction (Base 2) 1 1 0 0 1 1 0 1 1 - --------------------- 0
53 Subtraction (Base 2) 1 1 0 0 1 1 0 1 1 - -------------------- 0
54 Subtraction (Base 2) 0 2 1 1 0 0 1 x x 1 0 1 1 - -------------------- 0
55 Subtraction (Base 2) 1 2 0 2 x 1 1 0 0 1 x x x 1 0 1 1 - -------------------- 1 0
56 Subtraction (Base 2) 1 0 2 2 x 1 1 0 0 1 x x x 1 0 1 1 - -------------------- 1 1 0
57 Subtraction (Base 2) 1 2 0 2 2 x x 1 1 0 0 1 x x x x 1 0 1 1 - -------------------- 1 1 1 0
58 Subtraction (Base 2) 1 1 0 0 1 1 0 1 1 - -------------------- 1 1 1 0
59 Convert To Base 10 25 1 1 0 0 1 = ______________ (base 10) 16 + 8 + 1
60 Convert To Base 10 11 1 0 1 1 = ______________ (base 10) 8 2 1 + +
61 Convert To Base 10 1 1 1 0 14 = ______________ (base 10) 8 + 4 + 2
62 Subtraction (Base 2) 25 1 1 0 0 1 11 1 0 1 1 - ----- -------------------- 14 1 1 1 0
63 By Default, All Mathematics Is Done With Int & Double!
64 Decision To Optimize Speed We Will Use Mostly Int Today’s applications store all single Byte & Short in a 32/64 bit chunk of main memory for calculation efficiency!
65 Decision To Optimize Speed We Will Use Mostly Double
66 Why Should A Computer Scientist Know How Data Is Stored On Disk?
67 Why? I could say that you need to learn it because it will be used in Computer Architecture Operating Systems Compiler Construction
68 Byte 7 6 5 4 3 2 1 0 0 1 1 1 1 1 1 0 7 6 5 4 3 2 1 0 0 1 1 1 1 1 1 1 7 6 5 4 3 2 1 0 1 0 0 0 0 0 0 0
69 Int
70 Principles Of Programming I CSCI 1320 Dr. Thomas E. Hicks Computer Science Department Trinity University Textbook: An Introduction to Programming with Scala By Dr. Mark Lewis Special Thanks To Dr. Mark Lewis For Providing Some Of Text For Use In This Presentation.
Recommend
More recommend