Download presentation
Presentation is loading. Please wait.
1
1 Number Systems Patt and Patel Ch. 2+
2
2 A Brief History of Numbers From Gonick, Cartoon Guide to Computer Science
3
3
4
4
5
5 Prehistoric Ledgers
6
6
7
7 Elaborate Finger Counting
8
8
9
9
10
10
11
11 Ancient Number Systems
12
12
13
13 Positional Number Systems
14
14
15
15
16
16
17
17
18
18
19
19 Number Systems PrehistoryPrehistory –Unary, or marks: /////// = 7 /////// + ////// = ///////////// Grouping lead to Roman Numerals:Grouping lead to Roman Numerals: –VII + V = VVII = XII Better, Arabic Numerals:Better, Arabic Numerals: –7 + 5 = 12 = 1 x 10 + 2
20
20 Positional Number System Base 10 is a special case of positional number systemBase 10 is a special case of positional number system PNS first used over 4000 years ago in Mesopotamia (Modern day Iraq)PNS first used over 4000 years ago in Mesopotamia (Modern day Iraq) –Base 60 (Sexagesimal) –Digits: 0..59 (written as 60 different symbols) –5,45 60 = 5 x 60 + 45 x 1 = 345 10 Positional number systems are great for arithmeticPositional number systems are great for arithmetic Why?Why?
21
21 345 is really345 is really –3 x 10 2 + 4 x 10 1 + 5 x 10 0 –3 x 100 + 4 x 10 + 5 x 1 –3 is the most significant symbol (carries the most weight) –5 is the least significant symbol (carries the least weight) Digits (or symbols) allowed: 0-9Digits (or symbols) allowed: 0-9 Base (or radix): 10Base (or radix): 10 Arabic Numerals
22
22 Try multiplication in (non-positional) Roman numerals! XXXIII (33 in decimal) XII (12 in decimal) --------- XXXIII CCCXXX ----------- CCCXXXXXXXXXIIIIII ----------- CCCLXXXXVI ----------- CCCXCVI = 396 in decimal Positional Number System The Mesopotamians wouldn’t have had this problem!! * +
23
23 Positional Number System There are many ways to “represent” a numberThere are many ways to “represent” a number Representation does not affect computation resultRepresentation does not affect computation result LIX + XXXIII= LXXXXII(Roman Numerals)LIX + XXXIII= LXXXXII(Roman Numerals) 59 + 33 = 92 (Decimal)59 + 33 = 92 (Decimal) Representation affects difficulty of computing resultsRepresentation affects difficulty of computing results Computers need a representation that works with fast electronic circuitsComputers need a representation that works with fast electronic circuits Positional numbers work great with 2-state devicesPositional numbers work great with 2-state devices
24
24
25
25
26
26 What ’10’ Means
27
27 Number Base Systems
28
28 Binary Numbers
29
29
30
30 The Powers of 2
31
31
32
32 Equivalent Numbers
33
33 Converting Binary to Decimal
34
34 Binary Number System Base (radix): 2Base (radix): 2 Digits (symbols) allowed: 0, 1Digits (symbols) allowed: 0, 1 Binary Digits, or bitsBinary Digits, or bits 1001 2 is really1001 2 is really 1 x 2 3 + 0 x 2 2 + 0 X 2 1 + 1 X 2 0 9 10 11000 2 is really11000 2 is really 1 x 2 4 + 1 x 2 3 + 0 x 2 2 + 0 x 2 1 + 0 x 2 0 24 10
35
35 Computers multiply Arabic numerals by converting to binary, multiplying and converting back (much as us with Roman numerals) Binary Number System So if the computer is all binary how does it multiply 5 by 324 when I type it in the calculator program?
36
36 Octal Number System Base (radix): 8Base (radix): 8 Digits (symbols): 0 – 7Digits (symbols): 0 – 7 345 8 is really345 8 is really –3 x 8 2 + 4 x 8 1 + 5 x 8 0 –192 + 32 + 5 –229 10 1001 8 is really1001 8 is really –1 x 8 3 + 0 x 8 2 + 0 x 8 1 + 1 x 8 0 –512 + 1 –513 10 In C, octal numbers are represented with a leading 0 (0345 or 01001).In C, octal numbers are represented with a leading 0 (0345 or 01001).
37
37 Base (radix): 16Base (radix): 16 Digits (symbols) allowed: 0 – 9, a – fDigits (symbols) allowed: 0 – 9, a – f HexDecimal a10 b11 c12 d13 e14 f15 Hexadecimal Number System
38
38 A3 16 is really: A x 16 1 + 3 x 16 0 160 + 3 163 10 3E8 16 is really: 3 x 16 2 + E x 16 1 + 8 x 16 0 3 x 256 + 14 x 16 + 8 x 1 768 + 224 + 8 1000 10 Hexadecimal Number System Some Examples of converting hex numbers to decimal
39
39 10C 16 is really: 1 x 16 2 + 0 x 16 1 + C x 16 0 1 x 256 + 12 x 1 256 + 12 268 10 In C, hex numbers are represented with a leading “0x” (for example “0xa3” or “0x10c”). Hexadecimal Number System
40
40 For any positional number system Base (radix): b Digits (symbols): 0 … (b – 1) S n-1 S n-2 ….S 2 S 1 S 0 Use summation to transform any base to decimal Positional Number System Value = Σ (S i b i ) n-1 i=0
41
41 More PNS fun 2120 3 =2120 3 = 403 5 =403 5 = 27 17 =27 17 = 356 9 =356 9 = 1110 2 =1110 2 = 2A6 12 =2A6 12 = BEEF 16 =BEEF 16 = =69 10 =103 10 =41 10 =294 10 =14 10 =414 10 =48879 10
42
42 Decimal -> Binary Conversion Divide decimal value by 2 until the value is 0Divide decimal value by 2 until the value is 0 Know your powers of two and subtractKnow your powers of two and subtract –… 256 128 64 32 16 8 4 2 1 Example: 42Example: 42 –What is the biggest power of two that fits? –What is the remainder? –What fits? –What is the remainder? –What fits? –What is the binary representation?
43
43 Decimal Binary Conversion
44
44 Decimal Binary Conversion 128 10 =128 10 = 310 10 =310 10 = 26 10 =26 10 =
45
45 Base Conversion Binary -> Octal Conversion Group into 3’s starting at least significant symbolGroup into 3’s starting at least significant symbol –Add leading 0’s if needed (why not trailing?) Write 1 octal digit for each groupWrite 1 octal digit for each group Examples:Examples: –100 010 111 (binary) –4 2 7 (octal) –10 101 110 (binary) –2 5 6 (octal)
46
46 Octal -> Binary Conversion It is simple, just write down the 3-bit binary code for each octal digit OctalBinary 0000 1001 2010 3011 4100 5101 6110 7111 Base Conversion
47
47 Base Conversion Binary -> Hex Conversion Group into 4’s starting at least significant symbolGroup into 4’s starting at least significant symbol –Adding leading 0’s if needed Write 1 hex digit for each groupWrite 1 hex digit for each group Examples:Examples: –1001 1110 0111 0000 –9 e 7 0 –0001 1111 1010 0011 –1 f a 3
48
48 Hex -> Binary Conversion Again, simply write down the 4 bit binary code for each hex digit Example: 3 9 c 8 0011 1001 1100 1000 Base Conversion
49
49 Conversion Table DecimalHexadecimalOctalBinary 0000000 1110001 2220010 3330011 4440100 5550101 6660110 7770111 88101000 99111001 10A121010 11B131011 12C141100 13D151101 14E161110 15F171111 Base Conversion
50
50
51
51 Hex -> Octal Do it in 2 steps, hex -> binary -> octal Decimal -> Hex Do it in 2 steps, decimal -> binary -> hex So why use hex and octal and not just binary and decimal? Base Conversion
52
52 More Conversion Practice
53
53
54
54
55
55 Most humans precede number with “-” (e.g., -2000)Most humans precede number with “-” (e.g., -2000) Accountants, however, use parentheses: (2000) or color 2000 Sign-magnitude formatSign-magnitude format Example: -1000 10 in hex?Example: -1000 10 in hex? 1000 10 = 3 x 16 2 + e x 16 1 + 8 x 16 0 = -3E8 16 Negative Integers
56
56 Mesopotamians used positional fractions Sqrt(2) = 1.24,51,10 60 = 1 x 60 0 + 24 x 60 -1 + 51 x 60 -2 + 10 x 60 -3 = 1.414222 Most accurate approximation until the Renaissance Positional Fractions
57
57 f n-1 f n-2 … f 2 f 1 f 0 f -1 f -2 f -3 … f m-1 Decimal (radix) point Generalized Representation For a number “f” with “n” digits to the left and “m” to the right of the decimal place Position is the power Positional Fractions
58
58 Fractional Representation What is 3E.8F 16 ?What is 3E.8F 16 ? How about 10.101 2 ?How about 10.101 2 ? = 3 x 16 1 + E x 16 0 + 8 x 16 -1 + F x 16 -2 = 48 + 14 + 8/16 + 15/256 = 1 x 2 1 + 0 x 2 0 + 1 x 2 -1 + 0 x 2 -2 + 1 x 2 -3 = 2 + 0 + 1/2 + 1/8
59
59 More PNS Fractional Fun 21.012 3 =21.012 3 = 4.133 5 =4.133 5 = 22.61 7 =22.61 7 = A.3A 12 =A.3A 12 =
60
60 Converting Decimal -> Binary fractions Consider left and right of the decimal point separately.Consider left and right of the decimal point separately. The stuff to the left can be converted to binary as before.The stuff to the left can be converted to binary as before. Use the following table/algorithm to convert the fractionUse the following table/algorithm to convert the fraction
61
61 Fraction Fraction x 2 Digit left of decimal point 0.81.6 1 most significant (f -1 ) 0.61.21 0.20.40 0.40.80 0.8 (it must repeat from here!!) Different bases have different repeating fractions. 0.8 10 = 0.110011001100… 2 = 0.1100 2 Numbers can repeat in one base and not in another. For 0.8 10 to binary
62
62 What is 2.2 10 in: Binary Hex
63
63 Generic Fractional Base Separate the whole part to the fractional partSeparate the whole part to the fractional part –Know how to solve the whole part For the fractional part, use the same algorithm of successive multiplication and take off the whole partFor the fractional part, use the same algorithm of successive multiplication and take off the whole part –Sounds harder than it is
64
64 Let’s do an example 4.25 10 = ?? 34.25 10 = ?? 3
65
65 Let’s do another one 4.25 10 = ?? 44.25 10 = ?? 4
66
66 And yet another one 4.25 10 = ?? 54.25 10 = ?? 5
67
67
68
68 Fixed Point Numbers Used in digital filtering schemes for small microsUsed in digital filtering schemes for small micros Control applications need floating point numbers, but they can be very slow on small microsControl applications need floating point numbers, but they can be very slow on small micros Fourier transforms for tone detection implemented on small microsFourier transforms for tone detection implemented on small micros
69
69 Digital Filtering
70
70 Low-Pass Filter Butterworth digital low pass filterButterworth digital low pass filter Attenuated signal frequencies above 1/8 sample rate.Attenuated signal frequencies above 1/8 sample rate. 0.29289 z + 0.29289 0.29289 z + 0.29289 ------------------- ------------------- z - 0.41421 z - 0.41421
71
71 Difference Equation
72
72 Bode Plot
73
73 How do you implement this?
74
74 Questions?
75
75
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.