Number Systems
-
Upload
alyssa-edwards -
Category
Documents
-
view
79 -
download
0
description
Transcript of Number Systems
1CMPE12c Gabriel Hugh Elkaim
Number Systems
2CMPE12c Gabriel Hugh Elkaim
A Brief History of Numbers
From Gonick, Cartoon Guide to Computer Science
3CMPE12c Gabriel Hugh Elkaim
4CMPE12c Gabriel Hugh Elkaim
5CMPE12c Gabriel Hugh Elkaim
Prehistoric Ledgers
6CMPE12c Gabriel Hugh Elkaim
7CMPE12c Gabriel Hugh Elkaim
Elaborate Finger Counting
8CMPE12c Gabriel Hugh Elkaim
9CMPE12c Gabriel Hugh Elkaim
10CMPE12c Gabriel Hugh Elkaim
11CMPE12c Gabriel Hugh Elkaim
Ancient Number Systems
12CMPE12c Gabriel Hugh Elkaim
13CMPE12c Gabriel Hugh Elkaim
Positional Number Systems
14CMPE12c Gabriel Hugh Elkaim
15CMPE12c Gabriel Hugh Elkaim
16CMPE12c Gabriel Hugh Elkaim
17CMPE12c Gabriel Hugh Elkaim
18CMPE12c Gabriel Hugh Elkaim
19CMPE12c Gabriel Hugh Elkaim
Number Systems
• PrehistoryUnary, or marks:
/////// = 7/////// + ////// = /////////////
• Grouping lead to Roman Numerals:VII + V = VVII = XII
• Better, Arabic Numerals:7 + 5 = 12 = 1 x 10 + 2
20CMPE12c Gabriel Hugh Elkaim
Positional Number System
• Base 10 is a special case of positional number system
• PNS First used over 4000 years ago in Mesopotamia (Iraq)– Base 60– 0...59 (written as 60 different symbols)– 5,4560 = 5 x 60 + 45 = 34510
• Positional Number Systems are great for algebra
• Why?
21CMPE12c Gabriel Hugh Elkaim
Arabic Numerals
• 345 is really– 3 x 102 + 4 x 101 + 5 x 100
– 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-9• Base (or radix): 10
22CMPE12c Gabriel Hugh Elkaim
Try multiplication in (non-positional) Roman numerals!
XXXIII (33 in decimal) XII (12 in decimal)---------XXXIIIXXXIIICCCXXX-----------CCCXXXXXXXXXIIIIII-----------CCCLXXXXVI-----------CCCXCVI = 396 in decimal
Positional Number System
The Mesopotamians wouldn’t
have had this problem!!
*
+
23CMPE12c Gabriel Hugh Elkaim
• There are many ways to “represent” a number• Representation does not affect computation result
LIX + XXXIII= LXXXXII (Roman)59 + 33 = 92(Decimal)
• Representation affects difficulty of computing results• Computers need a representation that works with fast electronic circuits• Positional numbers work great with 2-state devices
Positional Number System
24CMPE12c Gabriel Hugh Elkaim
25CMPE12c Gabriel Hugh Elkaim
26CMPE12c Gabriel Hugh Elkaim
What ’10’ Means
27CMPE12c Gabriel Hugh Elkaim
Number Base Systems
28CMPE12c Gabriel Hugh Elkaim
Binary Numbers
29CMPE12c Gabriel Hugh Elkaim
30CMPE12c Gabriel Hugh Elkaim
The Powers of 2
31CMPE12c Gabriel Hugh Elkaim
32CMPE12c Gabriel Hugh Elkaim
Equivalent Numbers
33CMPE12c Gabriel Hugh Elkaim
Converting Binary to Decimal
34CMPE12c Gabriel Hugh Elkaim
•Base (radix): 2•Digits (symbols) allowed: 0, 1
•Binary Digits, or bits•10012 is really
1 x 23 + 0 x 22 + 0 X 21 + 1 X 20
910
•110002 is really1 x 24 + 1 x 23 + 0 x 22 + 0 x 21 + 0 x 20
2410
Binary Number System
35CMPE12c Gabriel Hugh Elkaim
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?
36CMPE12c Gabriel Hugh Elkaim
Octal Number System• Base (radix): 8• Digits (symbols): 0 – 7• 3458 is really
– 3 x 82 + 4 x 81 + 5 x 80
– 192 + 32 + 5– 22910
• 10018 is really– 1 x 83 + 0 x 82 + 0 x 81 + 1 x 80
– 512 + 1– 51310
• In C, octal numbers are represented with a leading 0 (0345 or 01001).
37CMPE12c Gabriel Hugh Elkaim
Hexadecimal Number System
• Base (radix): 16• Digits (symbols) allowed: 0 – 9, a –
fHex Decimal
a 10
b 11
c 12
d 13
e 14
f 15
38CMPE12c Gabriel Hugh Elkaim
A316 is really:A x 161 + 3 x 160
160 + 316310
3E816 is really:3 x 162 + E x 161 + 8 x 160
3 x 256 + 14 x 16 + 8 x 1768 + 224 + 8100010
Hexadecimal Number System
Some Examples of converting hex numbers to decimal
39CMPE12c Gabriel Hugh Elkaim
10C16 is really:1 x 162 + 0 x 161 + C x 160
1 x 256 + 12 x 16256 + 19244810
In C, hex numbers are represented with a leading “0x” (for example “0xa3” or “0x10c”).
Hexadecimal Number System
40CMPE12c Gabriel Hugh Elkaim
For any positional number system
•Base (radix): b•Digits (symbols): 0 … b – 1•Sn-1Sn-2….S2S1S0
Use summation to transform any base to decimal
Value = Σ (Sibi) n-1
i=0
Positional Number System
41CMPE12c Gabriel Hugh Elkaim
More PNS fun
• 21203 =
• 4035 =
• 2717 =
• 3569 =
• 11102 =
• 2A612 =
• BEEF16 =
=6910
=10310
=4110
=29410
=1410
=41410
=4887910
42CMPE12c Gabriel Hugh Elkaim
Decimal Binary Conversion• Divide decimal value by 2 until the value is 0 • Know your powers of two and subtract
… 256 128 64 32 16 8 4 2 1• Example: 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?
43CMPE12c Gabriel Hugh Elkaim
02
1
2
2
2
5
2
10
2
21
2
43
2
86
2
172
2
345345
10101
1001
b10101100134510
Decimal Binary Conversion
44CMPE12c Gabriel Hugh Elkaim
Decimal Binary Conversion
• 12810=
• 31010=
• 2610=
45CMPE12c Gabriel Hugh Elkaim
Binary Octal Conversion• Group into 3’s starting at least significant symbol
• Add leading 0’s if needed (why not trailing?)
• Write 1 octal digit for each group• Examples:
100 010 111 (binary) 4 2 7 (octal)
10 101 110 (binary) 2 5 6 (octal)
46CMPE12c Gabriel Hugh Elkaim
Octal Binary Conversion
It is simple, just write down the 3-bit binary code for each octal digit
Octal Binary
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
47CMPE12c Gabriel Hugh Elkaim
Binary Hex Conversion
• Group into 4’s starting at least significant symbol| Adding leading 0’s if needed
• Write 1 hex digit for each group• Examples:
1001 1110 0111 0000 9 e 7 0
0001 1111 1010 0011 1 f a 3
48CMPE12c Gabriel Hugh Elkaim
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
49CMPE12c Gabriel Hugh Elkaim
Conversion TableDecimal Hexadecimal Octal Binary
0 0 0 0000
1 1 1 0001
2 2 2 0010
3 3 3 0011
4 4 4 0100
5 5 5 0101
6 6 6 0110
7 7 7 0111
8 8 10 1000
9 9 11 1001
10 A 12 1010
11 B 13 1011
12 C 14 1100
13 D 15 1101
14 E 16 1110
15 F 17 1111
50CMPE12c Gabriel Hugh Elkaim
51CMPE12c Gabriel Hugh Elkaim
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?
52CMPE12c Gabriel Hugh Elkaim
Negative Integers
• Most humans precede number with “-” (e.g., -2000)• Accountants, however, use
parentheses: (2000) or color 2000• Sign-magnitude format• Example: -1000 in hex?
100010 = 3 x 162 + e x 161 + 8 x 160
-3E816
53CMPE12c Gabriel Hugh Elkaim
Mesopotamians used positional fractions
Sqrt(2) = 1.24,51,1060 = 1 x 600 + 24 x 60-1 + 51 x 60-2 + 10 x 60-3
= 1.41422210
Most accurate approximation until the Renaissance
54CMPE12c Gabriel Hugh Elkaim
fn-1 fn-2 … f2 f1 f0 f-1 f-2 f-3 … fm-1
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
55CMPE12c Gabriel Hugh Elkaim
Fractional Representation
• What is 3E.8F16?
• How about 10.1012?
= 3 x 161 + E x 160 + 8 x 16-1 + F x 16-2
= 48 + 14 + 8/16 + 15/256
= 1 x 21 + 0 x 20 + 1 x 2-1 + 0 x 2-2 + 1 x 2-3
= 2 + 0 + 1/2 + 1/8
56CMPE12c Gabriel Hugh Elkaim
More PNS Fractional Fun
• 21.0123 =
• 4.1335 =
• 22.617 =
• A.3A12 =
57CMPE12c Gabriel Hugh Elkaim
Converting Decimal Binary fractions
•Consider left and right of the decimal point separately.
•The stuff to the left can be converted to binary as before.
•Use the following table/algorithm to convert the fraction
58CMPE12c Gabriel Hugh Elkaim
Fraction Fraction x 2 Digit left of decimal point
0.8 1.6 1 most significant (f-1)
0.6 1.2 1
0.2 0.4 0
0.4 0.8 0
0.8 (it must repeat from here!!)
• Different bases have different repeating fractions.• 0.810 = 0.110011001100…2 = 0.11002
• Numbers can repeat in one base and not in another.
For 0.810 to binary
59CMPE12c Gabriel Hugh Elkaim
What is 2.210 in:
•Binary
•Hex
60CMPE12c Gabriel Hugh Elkaim
61CMPE12c Gabriel Hugh Elkaim