cmpe12c fall 03cyrus bazeghicmpe12c fall 03cyrus bazeghi 1 number systems

27
1 CMPE12c Fall 03 Cyrus Bazeghi CMPE12c Fall 03 Cyrus Bazeghi Number Systems

Upload: carmel-hubbard

Post on 02-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

1CMPE12c Fall 03

Cyrus BazeghiCMPE12c Fall 03

Cyrus Bazeghi

Number Systems

Page 2: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 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

Page 3: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 4: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 5: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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!!

*

+

Page 6: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 7: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 8: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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?

Page 9: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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).

Page 10: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 11: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 12: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 13: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 14: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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?

Page 15: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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)

Page 16: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 17: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 18: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 19: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 20: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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?

Page 21: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 22: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 23: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 24: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 25: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 26: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

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

Page 27: CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems

27CMPE12c Fall 03

Cyrus BazeghiCMPE12c Fall 03

Cyrus Bazeghi

What is 2.210 in:

•Binary

•Hex