CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 1 Number Systems
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 2 Number Systems Prehistory Unary, or marks: /////// = 7 /////// + ////// = ///////////// Grouping lead to Roman Numerals: VII + V = VVII = XII Better, Arabic Numerals: = 12 = 1 x
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 3 Base 10 is a special case of positional number system PNS first used over 4000 years ago in Mesopotamia (Iraq) Base 60 (Sexagesimal) Digits: (written as 60 different symbols) 5,45 60 = 5 x x 1 = Positional number systems are great for arithmetic Why? Positional Number System
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 4 Arabic Numerals 345 is really –3 x x x 10 0 –3 x x 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
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 5 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!! * +
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 6 There are many ways to “represent” a number Representation does not affect computation result LIX + XXXIII = LXXXXII (Roman) = 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
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 7 Base (radix): 2 Digits (symbols) allowed: 0, 1 Binary Digits, or bits is really 1 x x X X is really 1 x x x x x Binary Number System
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 8 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?
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 9 Octal Number System Base (radix): 8 Digits (symbols): 0 – is really –3 x x x 8 0 – – is really –1 x x x x 8 0 – – In C, octal numbers are represented with a leading 0 (0345 or 01001).
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 10 Hexadecimal Number System Base (radix): 16 Digits (symbols) allowed: 0 – 9, a – f HexDecimal a10 b11 c12 d13 e14 f15
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 11 A3 16 is really: A x x E8 16 is really: 3 x E x x x x x Hexadecimal Number System Some Examples of converting hex numbers to decimal
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 12 10C 16 is really: 1 x x C x x x In C, hex numbers are represented with a leading “0x” (for example “0xa3” or “0x10c”). Hexadecimal Number System
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 13 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 Value = Σ (S i b i ) n-1 i=0 Positional Number System
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 14 Decimal -> Binary Conversion Divide decimal value by 2 until the value is 0 Know your powers of two and subtract … 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?
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 15 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: (binary) (octal) (binary) (octal)
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 16 Octal -> Binary Conversion It is simple, just write down the 3-bit binary code for each octal digit OctalBinary
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 17 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: e f a 3
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 18 Hex -> Binary Conversion Again, simply write down the 4 bit binary code for each hex digit Example: 3 9 c
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 19 Conversion Table DecimalHexadecimalOctalBinary A B C D E F171111
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 20 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?
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 21 Negative Integers Most humans precede number with “-” (e.g., -2000) Accountants, however, use parentheses: (2000) or color 2000 Sign-magnitude format Example: in hex? = 3 x e x x E8 16
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 22 Mesopotamians used positional fractions Sqrt(2) = 1.24,51,10 60 = 1 x x x x = Most accurate approximation until the Renaissance
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 23 f n-1 f n-2 … f 2 f 1 f 0 f -1 f -2 f -3 … f m-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
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 24 Fractional Representation What is 3E.8F 16 ? How about ? = 3 x E x x F x = / /256 = 1 x x x x x 2 -3 = /2 + 1/8
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 25 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
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 26 FractionFraction x 2Digit left of decimal point most significant (f -1 ) (it must repeat from here!!) Different bases have different repeating fractions = … 2 = Numbers can repeat in one base and not in another. For to binary
CMPE12c Fall 03Cyrus BazeghiCMPE12c Fall 03Cyrus Bazeghi 27 What is in: Binary Hex