Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
ECE2030 Introduction to Computer Engineering Lecture 2: Number System Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia Tech Decimal Number Representation • Example: 90134 (base-10, used by Homo Sapien) = 90000 + 0 + 100 + 30 + 4 = 9*104 + 0*103 + 1*102 + 3*101 + 4*100 • How did we get it? 10 90134 10 9013 10 901 10 90 9 2 4 3 1 0 2 Generic Number Representation • 90134 = 9*104 + 0*103 + 1*102 + 3*101 + 4*100 • A4 A3 A2 A1 A0 for base-10 (or radix-10) = A4*104 + A3*103 + A2*102 + A1*101 + A0*100 (A is coefficient; b is base) • Generalize for a given number N w/ base-b N = An-1 An-2 … A1 A0 N = An-1*bn-1 + An-2*bn-2 + … + A2*b2 + A0*b0 **Note that A < b 3 3 Counting numbers with base-b 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 90 21 91 22 92 23 93 24 ….. 94 25 95 26 96 27 97 28 98 29 99 Base-10 4 100 101 102 103 104 105 106 107 108 109 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 70 21 71 22 72 23 73 24 ….. 74 25 75 26 76 27 77 100 101 102 103 104 105 106 107 How about Base-8 4 How about base-2 0 1 5 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 5 How about base-2 0 1 6 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 6 How about base-2 0=0 1=1 10 = 2 11 = 3 100 = 4 101 = 5 110 = 6 111 = 7 1000 = 8 1001 = 9 1010 = 10 1011 = 11 1100 = 12 1101 = 13 1110 = 14 1111 = 15 Binary = Decimal 7 7 Derive Numbers in Base-2 • Decimal (base-10) – (25)10 • Binary (base-2) – (11001)2 • Exercise 2 25 1 8 1 2 12 2 6 2 3 0 0 1 8 Base-2 • Decimal (base-10) • Exercise – (982)10 • Binary (base-2) – (1111010110)2 9 9 Base 8 • Decimal (base-10) • Exercise – (982)10 • Octal (base-8) – (1726)8 10 10 Base 16 • Decimal (base-10) – (982)10 • Hexadecimal (base-16) • Hey, what do we do when we count to 10?? 11 • • • • • • • • • • • • • • • • 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 a b c d e f 11 Base 16 • (982)10 = (3d6)16 • (3d6)16 can be written as (0011 1101 0110)2 • We use Base-16 (or Hex) a lot in computer world – Ex: A 32-bit address can be written as 0xfe8a7d20 (0x is an abbreviation of Hex) – Or in binary form 1111_1110_1000_1010_0111_1101_0010_0000 12 12 Number Examples with Different Bases • Decimal (base-10) – (982)10 • Binary (base-2) – (01111010110)2 • Others examples: – base-9 = (1321)9 – base-11 = (813)11 – base-17 = (36d)17 • Octal (base-8) – (1726)8 • Hexadecimal (base-16) – (3d6)16 13 13 Convert between different bases • Convert a number base-x to base-y, e.g. (0100111)2 to (?)6 – First, convert from base-x to base-10 if x 10 – Then convert from base-10 to base-y 0100111 = 026 + 125 + 024 + 023 + 122 + 121 + 120 = 39 6 39 3 6 6 1 0 (0100111)2 = (103)6 14 14 Base-b Addition Negative Number Representation • Options – Sign-magnitude – One’s Complement – Two’s Complement (we use this in this course) 16 16 Sign-magnitude • Use the most significant bit (MSB) to indicate the sign – 0: positive, 1: negative • Problem – Representing zeros? – Do not work in computation • We will NOT use it in this course ! 17 +0 000 +1 001 +2 010 +3 011 -3 111 -2 110 -1 101 0 100 17 One’s Complement • Complement (flip) each bit in a binary number • Problem – Representing zeros? – Do not always work in computation • Ex: 111 + 001 = 000 Incorrect ! • We will NOT use it in this course ! 18 +0 000 +1 001 +2 010 +3 011 -3 100 -2 101 -1 110 0 111 18 Two’s Complement • Complement (flip) each bit in a binary number and adding 1, with overflow ignored • Work in computation perfectly • We will use it in this course ! 3 011 -3 101 One’s complement One’s complement 100 010 Add 1 -3 19 101 Add 1 3 011 19 Two’s Complement • Complement (flip) each bit in a binary number and adding 1, with overflow ignored • Work in computation perfectly • We will use it in this course ! 100 One’s complement 011 Add 1 100 20 The same 100 represents both 4 and -4 which is no good 0 000 +1 001 -1 111 +2 010 -2 110 +3 011 -3 101 ?? 100 20 Two’s Complement • Complement (flip) each bit in a binary number and adding 1, with overflow ignored • Work in computation perfectly • We will use it in this course ! 100 One’s complement 011 Add 1 100 21 MSB = 1 for negative Number, thus 100 represents -4 0 000 +1 001 -1 111 +2 010 -2 110 +3 011 -3 101 -4 100 21 Range of Numbers • An N-bit number N – Unsigned: 0 .. (2 -1) N-1 N-1 – Signed: -2 .. (2 -1) • Example: 4-bit 0000 (0) 1110 (-8) Unsigned numbers 1111 (15) 0111 (7) Signed numbers 22 22 Binary Computation 010001 (17=16+1) 001011 (11=8+2+1) --------------011100 (28=16+8+4) Unsigned arithmetic 010001 (17=16+1) 101011 (43=32+8+2+1) --------------111100 (60=32+16+8+4) 23 Signed arithmetic (w/ 2’s complement) 010001 (17=16+1) 101011 (-21: 2’s complement=010101=21) --------------111100 (2’s complement=000100=4, i.e. -4) 23 Binary Computation The carry is discarded The carry is discarded 24 Unsigned arithmetic 101111 (47) 011111 (31) --------------001110 (78?? Due to overflow, note that 62 cannot be represented by a 6-bit unsigned number) Signed arithmetic (w/ 2’s complement) 101111 (-17 since 2’s complement=010001) 011111 (31) --------------001110 (14) 24 BACKUP Application of Two’s Complement • The first Pocket Calculator “Curta” used Two’s complement method for subtraction • First complement the subtrahend – Fill the left digits to be the same length of the minuend – Complemented number = (9 – digit) • 4’s complement = 5 • 7’s complement = 2 • 0’s complement = 9 • Add 1 to the complemented number • Perform an addition with the minuend 26 26 Examples • 13 – 7 – Two’s complement of 07 = 92 + 1 = 93 – 13 + 93 = 06 (ignore the leftmost carry digit) • 817 – 123 – Two’s complement of 123 = 876 + 1 = 877 – 817 + 877 = 694 (ignore the leftmost carry digit) • 78291 – 4982 – Two’s complement of 04982 = 95017 + 1 = 95018 – 78291 + 95018 = 73309 (ignore the leftmost carry digit) 27 27