Lecture 1
-
Upload
yagnasrees -
Category
Documents
-
view
2 -
download
0
Transcript of Lecture 1
2
Lecture Template:Lecture Template:
Types of number systemsTypes of number systems Number basesNumber bases Range of possible numbersRange of possible numbers Conversion between number basesConversion between number bases Common powersCommon powers Arithmetic in different number basesArithmetic in different number bases Shifting a numberShifting a number
3
Types of Number SystemsTypes of Number Systems
Additive:Numbers have intrinsic value: e.g.: Roman Numerals: LVIII = 50 + 5 + 1 + 1 + 1 = 58
Positional: Value depends on position: e.g.: Decimal system: 55 = 5 x 10 + 5 x 1
Additive Number Systems are not used much any more:
Awkward to use.Prone to errors.
4
DefinitionsDefinitions
The Base of a number system – how many different digits (incl. zero) are used in the system.
Base 2: 0, 1
Base 5: 0, 1, 2, 3, 4
Base 8: 0, 1, 2, 3, 4, 5, 6, 7
Base 10: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Base 16: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
5
DefinitionsDefinitions
Bit – a cell holding a single binary number (0 or 1)
Byte = 8 bits (can hold 28 = 256 different patterns/values)
Word – a fixed-sized group of bits that the computer handles together. Typical word sizes: 4, 8, 16, 32, 64, 128 bits
1K = 1024 bytes
7
Common Number SystemsCommon Number Systems
System Base SymbolsUsed by humans?
Used in computers?
Decimal 10 0, 1, … 9 Yes No
Binary 2 0, 1 No Yes
Octal 8 0, 1, … 7 No Yes
Hexa-decimal
16 0, 1, … 9,A, B, … F
No Yes
8
Positional decimal systemPositional decimal system
The number 125 means:
1 group of 100 (100 = 102) 2 groups of 10 (10 = 101) 5 groups of 1 (1 = 100)
9
Place values (1 of 2)Place values (1 of 2)
In our usual positional number system, the meaning of a digit depends on where it is located in the number
3 groups of 1000
7 groups of 100
3 groups of 10
2 groups of 1
Example: 3 7 3 2
10
Place values (2 of 2)Place values (2 of 2)
12510 => 5 x 100 = 52 x 101 = 201 x 102 = 100
125
Base
Weight
11
Representing in bases: Representing in bases: 1010, , 22, , 88, , 1616
86510 = 8 x 102 + 6 x 101 + 5 x 100 = 800 + 60 + 5
10112 = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 8 + 2 + 1 = 1110
258 = 2 x 81 + 5 x 80 = 16 + 5 = 2110 A716 = 10 x 161 + 7 x 160 = 160 + 7 =
16710
Note: The subscript naming the base is itself given in base ten (10), by convention.
Base
12
Counting in bases (1 of 3)Counting in bases (1 of 3)
Decimal Binary OctalHexa-
decimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
13
Counting in bases (2 of 3)Counting in bases (2 of 3)
Decimal Binary OctalHexa-
decimal
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
14
Counting in bases (3 of 3)Counting in bases (3 of 3)
Decimal Binary OctalHexa-
decimal
16 10000 20 10
17 10001 21 11
18 10010 22 12
19 10011 23 13
20 10100 24 14
21 10101 25 15
22 10110 26 16
23 10111 27 17
15
Estimating magnitude: BinaryEstimating magnitude: Binary
1101 01102 = 21410
1101 01102 > 19210 (128 + 64 + additional bits to the right)
Place 27 26 25 24 23 22 21 20
Value 128 64 32 16 8 4 2 1
Evaluate 1 x 128 1 x 64 0 x 32 1 x16 0 x 8 1 x 4 1 x 2 0 x 1
Sum for Base 10
128 64 0 16 0 4 2 0
16
Range of possible numbersRange of possible numbers
R = BK where R = rangeB = baseK = number of digits
Example #1: Base 10, 2 digitsR = 102 = 100 different numbers (0…99)
Example #2: Base 2, 16 digitsR = 216 = 65,536 or 64K16-bit PC can store 65,536 different number values
17
Decimal Range for Bit WidthsDecimal Range for Bit Widths
Bits Digits Range
1 0+ 2 (0 and 1)
4 1+ 16 (0 to 15)
8 2+ 256
10 3 1,024 (1K)
16 4+ 65,536 (64K)
20 6 1,048,576 (1M)
32 9+ 4,294,967,296 (4G)
64 19+ Approx. 1.6 x 1019
128 38+ Approx. 2.6 x 1038
See also Ch. 3, p. 74
20
Binary to Decimal (2 of 3)Binary to Decimal (2 of 3)
TechniqueMultiply each bit by 2n, where n is the “weight” of the bitThe weight is the position of the bit, starting from 0 on the rightAdd the results
21
Binary to Decimal (3 of 3)Binary to Decimal (3 of 3)
1010112 => 1 x 20 = 11 x 21 = 20 x 22 = 01 x 23 = 80 x 24 = 01 x 25 = 32
4310
Bit “0”
23
Octal to Decimal (2 of 3)Octal to Decimal (2 of 3)
TechniqueMultiply each bit by 8n, where n is the “weight” of the bitThe weight is the position of the bit, starting from 0 on the rightAdd the results together
Note: 80 = 1, 81 = 8, 82 = 64 83 = 512, Etc.
24
Octal to Decimal (3 of 3)Octal to Decimal (3 of 3)
7248 => 4 x 80 = 4 x 1 = 42 x 81 = 2 x 8 = 167 x 82 = 7 x 64 = 448
46810
26
Hexadecimal to Decimal (2 of 3)Hexadecimal to Decimal (2 of 3)
TechniqueMultiply each bit by 16n, where n is the “weight” of the bitThe weight is the position of the bit, starting from 0 on the rightAdd the results
Note: 160 = 1, 161 = 16, 162 = 256 163 = 4096, Etc.
27
Hexadecimal to Decimal (3 of 3)Hexadecimal to Decimal (3 of 3)
ABC16 => C x 160 = 12 x 1 = 12 B x 161 = 11 x 16 = 176 A x 162 = 10 x 256 = 2560
274810
29
Decimal to Binary (2 of 3)Decimal to Binary (2 of 3)
TechniqueDivide by two, keep track of the remainderFirst remainder is bit 0 (LSB, least-significant bit)Second remainder is bit 1Etc.
30
Decimal to Binary (3 of 3)Decimal to Binary (3 of 3)
12510 = ?2 2 125 62 12 31 02 15 12 7 12 3 12 1 12 0 1
12510 = 11111012
32
Octal to Binary (2 of 3)Octal to Binary (2 of 3)
TechniqueConvert each octal digit to a 3-bit equivalent binary representation
See Table, Slides 12-14
35
Hexadecimal to Binary (2 of 3)Hexadecimal to Binary (2 of 3)
TechniqueConvert each hexadecimal digit to a 4-bit equivalent binary representation
See Table, Slides 12-14
36
Hexadecimal to Binary (3 of 3)Hexadecimal to Binary (3 of 3)
10AF16 = ?2
1 0 A F
0001 0000 1010 1111
10AF16 = 00010000101011112
38
Decimal to Octal (2 of 3)Decimal to Octal (2 of 3)
TechniqueDivide by 8Keep track of the remainder
39
Decimal to Octal (3 of 3)Decimal to Octal (3 of 3)
123410 = ?8
8 1234 154 28 19 28 2 38 0 2
123410 = 23228
41
Decimal to Hexadecimal (2 of 3)Decimal to Hexadecimal (2 of 3)
TechniqueDivide by 16Keep track of the remainder
42
Decimal to Hexadecimal (3 of 3)Decimal to Hexadecimal (3 of 3)
123410 = ?16
123410 = 4D216
16 1234 77 216 4 13 = D16 0 4
44
Binary to Octal (2 of 3)Binary to Octal (2 of 3)
TechniqueGroup bits in threes, starting on rightConvert to octal digits
See Table, Slides 12-14
45
Binary to Octal (3 of 3)Binary to Octal (3 of 3)
10110101112 = ?8
1 011 010 111
1 3 2 7
10110101112 = 13278
47
Binary to Hexadecimal (2 of 3)Binary to Hexadecimal (2 of 3)
TechniqueGroup bits in fours, starting on rightConvert to hexadecimal digits
See Table, Slides 12-14
48
Binary to Hexadecimal (3 of 3)Binary to Hexadecimal (3 of 3)
10101110112 = ?16
10 1011 1011
2 B B
10101110112 = 2BB16
50
Octal to Hexadecimal (2 of 3)Octal to Hexadecimal (2 of 3)
TechniqueUse binary as an intermediary
See Table, Slides 12-14
51
Octal to Hexadecimal (3 of 3)Octal to Hexadecimal (3 of 3)
10768 = ?16
1 0 7 6
001 000 111 110
2 3 E
10768 = 23E16
53
Hexadecimal to Octal (2 of 3)Hexadecimal to Octal (2 of 3)
TechniqueUse binary as an intermediary
See Table, Slides 12-14
54
Hexadecimal to Octal (3 of 3)Hexadecimal to Octal (3 of 3)
1F0C16 = ?8
1 F 0 C
0001 1111 0000 1100
1 7 4 1 4
1F0C16 = 174148
55
Exercise – Convert ...Exercise – Convert ...
Don’t use a calculator!
Decimal Binary OctalHexa-
decimal
33
1110101
703
1AF
Skip answer Answer
56
Exercise – Convert (answers)Exercise – Convert (answers)
Decimal Binary OctalHexa-
decimal
33 100001 41 21
117 1110101 165 75
451 111000011 703 1C3
431 110101111 657 1AF
57
Common Powers (1 of 2)Common Powers (1 of 2)
Base 10Power Preface Symbol
10-12 pico p
10-9 nano n
10-6 micro
10-3 milli m
103 kilo k
106 mega M
109 giga G
1012 tera T
Value
.000000000001
.000000001
.000001
.001
1000
1000000
1000000000
1000000000000
58
Common Powers (2 of 2)Common Powers (2 of 2)
Base 2 Power Preface Symbol
210 kilo k
220 mega M
230 Giga G
Value
1024
1048576
1073741824
What is the value of “k”, “M”, and “G”?In computing, particularly w.r.t. memory,
the base-2 interpretation generally applies
60
Multiplying powersMultiplying powers
For common bases, add powers
26 210 = 216 = 65,536
or…
26 210 = 64 210 = 64k
ab ac = ab+c
61
Table of powersTable of powers
PowerBase 8 7 6 5 4 3 2 1 0
2 256 128 64 32 16 8 4 2 1
8 32,768 4,096 512 64 8 1
16 65,536 4,096 256 16 1
62
FractionsFractions
Number point or radix pointDecimal point in base 10Binary point in base 2
No exact relationship between fractional numbers in different number bases
Exact conversion may be impossible
63
Decimal fractionsDecimal fractions
Move the number point one place to the right
Effect: multiplies the number by the base numberExample: 139.010 139010
Move the number point one place to the left
Effect: divides the number by the base numberExample: 139.010 13.910
64
Fractions: Base Fractions: Base 1010
Place 10-1 10-2 10-3 10-4
Value 1/10 1/100 1/1000 1/10000
Evaluate 2 x 1/10 5 x 1/100 8 x 1/1000 9 x1/10000
Sum .2 .05 .008 .0009
.258910
10-1 10-2 10-3 10-4
65
Fractions: Base Fractions: Base 22
.1010112 = 0.67187510
Place 2-1 2-2 2-3 2-4 2-5 2-6
Value 1/2 1/4 1/8 1/16 1/32 1/64
Evaluate 1 x 1/2 0 x 1/4 1x 1/8 0 x 1/16 1 x 1/32 1 x 1/64
Sum .5 0.125 0.03125 0.015625
2-1 2-2 2-3 2-4 2-5 2-6
66
Fractions: Base 10 and Base 2Fractions: Base 10 and Base 2
No general relationship between fractions of types 1/10k and 1/2k
Therefore a number representable in base 10 may not be representable in base 2But: the converse is true: all fractions of the form 1/2k can be represented in base 10
Fractional conversions from one base to another are stopped
If there is a rational solution, orWhen the desired accuracy is attained
67
Fractions: From Base Fractions: From Base BB To Base 10To Base 10
Determine the appropriate weight for each fractional digit as a negative power of the base
Multiply each digit by its weight Add the values Example:
.A116 = 10x16-1 + 1x16-2 = 10x0.0625 + 1x0.00390625 = 0.6289062510
68
Fractions: From Base 10 To Base Fractions: From Base 10 To Base BB
Multiply the fraction by the base value B B (i.e., 2, 8 or 16)
Record the values that move to the left of the radix point and drop them
Repeat the process until the value being multiplied is zero, orthe desired number of digits of accuracy is attained
69
Fractions: From Base 10 To Base Fractions: From Base 10 To Base BB
0.67312510 = ?2 0.673125 x 2 1.346250 x 2 0.692500 x 2 1.385000 x 2 0.770000 x 20.1010112 1.540000 x 2 1.080000
70
Fractions: From Base 2 To Base Fractions: From Base 2 To Base 8, 168, 16
Group digits from left to right in groups of 3 (base 8) or 4 (base 16)
Supplement the right-most group with 0’s, if necessary
Convert each group to the desired base.
See Table, Slides 12-14
71
Fractions: From Base Fractions: From Base 8, 168, 16 To Base 2 To Base 2
Convert each octal (base 8) or hexadecimal (base 16) digit to its 3-bit or 4-bit representation
See Table, Slides 12-14
72
Fractions: between Base Fractions: between Base 8 8 andand Base Base 1616
Use binary conversion as an intermediaryintermediary
Example:0.C816 = ?8
1100 10002
6 2 0 0.C816 = 0.628
73
Mixed number conversionMixed number conversion
Convert whole part and fraction part separately
See Table, Slides 12-14
74
Arithmetic operations (1 of 14)Arithmetic operations (1 of 14)
Binary Addition Two 1-bit values
A B A + B
0 0 0
0 1 1
1 0 1
1 1 100 and carry 1 to the
next more significant bit, i.e.
“two”
75
Arithmetic operations (2 of 14)Arithmetic operations (2 of 14)
Two n-bit valuesAdd individual bits (see Table)Propagate carries
10101 21+ 11001 + 25 101110 46
11
Note: superscripts are carried amounts.
76
Addition (different bases) (3 of 14)Addition (different bases) (3 of 14)
Base Problem Largest Single Digit
Decimal 6
+3 9
Octal 6+1 7
Hexadecimal 6
+9 F
Binary 1+0 1
77
Addition (different bases) (4 of 14)Addition (different bases) (4 of 14)
Base Problem Carry Answer
Decimal 6
+4 Carry the 10 10
Octal 6+2 Carry the 8 10
Hexadecimal 6
+A Carry the 16 10
Binary 1+1 Carry the 2 10
78
Addition Table: Base 10 (5 of 14)Addition Table: Base 10 (5 of 14)
+ 0 1 2 3 4 5 6 7 8 9
0 0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9 10
2 2 3 4 5 6 7 8 9 10 11
3 3 4 5 6 7 8 9 10 11 12
4 4 5 6 7 8 etc
9 10 11 12 13
310 + 610 = 910
79
Addition Table: Base 8 (6 of 14)Addition Table: Base 8 (6 of 14)
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16
38 + 68 = 118
80
Arithmetic operations (7 of 14)Arithmetic operations (7 of 14)
Binary Subtraction Two 1-bit values
A B A - B
0 0 0
0 1 1
1 0 1
1 1 0
and borrow 1 from the next more significant bit
81
Arithmetic operations (8 of 14)Arithmetic operations (8 of 14)
Two n-bit valuesSubtract individual bits (see Table)Keep track of the borrowings
00100101 – 00010001 = 00010100
00100101 3710
- 00010001 - 1710
00010100 2010
0 10
82
Arithmetic operations (9 of 14)Arithmetic operations (9 of 14)
MultiplicationDecimal (just for fun)
35x 105 175 000 35 3675
83
Arithmetic operations (10 of 14)Arithmetic operations (10 of 14)
Binary multiplication, two 1-bit values
A B A B
0 0 0
0 1 0
1 0 0
1 1 1
84
Arithmetic operations (11 of 14)Arithmetic operations (11 of 14)
Binary multiplication, two n-bit valuesAs with decimal values
1110 x 1011 1110 1110 0000 111010011010
85
Multiplication Table: Base 10 (12 Multiplication Table: Base 10 (12 of 14)of 14)
x 0 1 2 3 4 5 6 7 8 9
0 0
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 21 24 27
4 0 4 8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
etc.
310 x 610 = 1810
86
Multiplication Table: Base 8 (13 of Multiplication Table: Base 8 (13 of 14)14)
x 0 1 2 3 4 5 6 7
0 0
1 1 2 3 4 5 6 7
2 2 4 6 10 12 14 16
3 0 3 6 11 14 17 22 25
4 4 10 14 20 24 30 34
5 5 12 17 24 31 36 43
6 6 14 22 30 36 44 52
7 7 16 25 34 43 52 61
38 x 68 = 228
87
Arithmetic operations (14 of 14)Arithmetic operations (14 of 14)
Binary division, two n-bit valuesAs with decimal values
100001/11 = 1011 11 ) 100001
1011
11
0010011
1111
0
divisordividend
quotient
88
Shifting a numberShifting a number
Shifting a decimal number to the left by one position is equivalent to multiplying by 10
Shifting a binary number to the left by one position is equivalent to multiplying by 2
General rule: shifting a number in any base left one digit multiplies its value by the base; shifting one digit right divides its value by the base