Upload
carmel-hubbard
View
213
Download
0
Embed Size (px)
Citation preview
1CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
Number Systems
2CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
3CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
• Base 10 is a special case of positional number system
• PNS first used over 4000 years ago in Mesopotamia (Iraq)
• Base 60 (Sexagesimal) • Digits: 0..59 (written as 60 different symbols)• 5,4560 = 5 x 60 + 45 x 1 = 34510
• Positional number systems are great for arithmetic• Why?
Positional Number System
4CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
5CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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!!
*
+
6CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
• 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
7CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
•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
8CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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?
9CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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).
10CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
11CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
12CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
13CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
14CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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?
15CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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)
16CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
17CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
18CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
19CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
20CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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?
21CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
22CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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.4142222
Most accurate approximation until the Renaissance
23CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
fn-1 fn-2 … f2 f1 f0 f-1 f-2 f-3 … fm-1
Decimal 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
24CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
25CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
26CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
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
27CMPE12c Fall 03
Cyrus BazeghiCMPE12c Fall 03
Cyrus Bazeghi
What is 2.210 in:
•Binary
•Hex