* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 1 b - Electrical and Computer Engineering
Survey
Document related concepts
History of mathematical notation wikipedia , lookup
Law of large numbers wikipedia , lookup
Ethnomathematics wikipedia , lookup
History of logarithms wikipedia , lookup
Mathematics of radio engineering wikipedia , lookup
Infinitesimal wikipedia , lookup
Georg Cantor's first set theory article wikipedia , lookup
Approximations of π wikipedia , lookup
Large numbers wikipedia , lookup
Real number wikipedia , lookup
Location arithmetic wikipedia , lookup
Positional notation wikipedia , lookup
Transcript
ECE 204 Numerical Methods for Computer Engineers Binary Numbers Douglas Wilhelm Harder Department of Electrical and Computer Engineering University of Waterloo Copyright © 2007 by Douglas Wilhelm Harder. All rights reserved. Binary Numbers • This topic introduces binary numbers – standard notation – scientific notation – addition – multiplication Binary Numbers • Decimal numbers are convenient for humans because we have 10 fingers (also called “digits”) • Otherwise, they are exceptionally useless as 10 has only two divisors: 2 and 5 • Even our day is more conveniently broken up into base 12 which has four divisors: 2, 3, 4, and 6 Binary Numbers • Representing ten digits is exceptionally inconvenient for computers • It is easiest to represent just two digits with closed and open circuits (5 V and 0 V) • We use 0 and 1 to represent these two binary digits, or bits Binary Numbers • We represent a binary integer as a sequence of bits bn bn – 1 · · · b1 b0 which equals n b k k 0 2 k Binary Numbers • For example, 101010 represents 1·25 + 0·24 + 1·23 + 0·22 + 1·21 + 0·20 = 32 + 16 + 2 = 42 • As another example, 1110001 represents 1·26 + 1·25 + 1·24 + 0·23 + 0·22 + 0·21 + 1·20 = 64 + 32 + 16 + 1 = 113 Binary Numbers • In counting, we always increment the next digit whenever we increment a “1”: 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 Binary Numbers • We use these numbers to represent the integers in the natural order: 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1 2 3 4 5 6 7 8 9 10 11 12 Binary Numbers • Binary numbers are very convenient for computers, but very inconvenient for humans – for example, how much smaller is 110010 than 111110100? – these are 50 and 500, respectively Binary Numbers • Just like decimal real numbers, we can represent a real number as a sequence of bits: bn bn – 1 · · · b1 b0 . b–1 b–2 b–3 · · · where bn 0 (i.e., bn = 1), and n is any integer • This represents the number n b k k 2 k Binary Numbers • We cannot call the point in bn bn – 1 · · · b1 b0 . b–1 b–2 b–3 · · · a “decimal point”, as this is not a decimal number • The generic name for the point is the radix point Binary Numbers • As with decimal digits, we are only concerned with a finite number of bits: bn bn – 1 · · · b0 . b–1 · · · bm where bn = 1, n is any integer and m n • This represents the number n k m bk 2 k Binary Numbers • For example, 101.101 represents 1·22 + 0·21 + 1·20 + 1·2–1 + 0·2–2 + 1·2–3 = 4 + 1 + 0.5 + 0.125 = 5.625 • As another example, 1.01101 represents 1·20 + 0·2–1 + 1·2–2 + 1·2–3 + 0·2–4 + 1·2–5 = 1 + 0.25 + 0.125 + 0.03125 = 1.40625 Binary Numbers • Notice that 101.101 is 1.01101 differ only by shifting the radix point by two locations • This is equivalent to multiply by 2–2 or dividing by 4 • We also see that 5.625/4 1.40625 Binary Numbers • As with decimal numbers, we can represent binary numbers using scientific notation: • Any real number can be written as 1.b-1 b-2 b-3 · · · b–m 2n which often written as 1.b-1b-2b-3···b–men Binary Numbers • To differentiate between binary numbers and decimal numbers it is common to add a subscript 2 or subscript 10: 1010102 = 4210 0.101012 = 0.6562510 11111010002 = 100010 100000000002 = 102410 • Note that 42/64 = 0.65625 Binary Numbers • To add two binary numbers: – line up the radix points, add the columns, carrying 1 to next column if the sum is greater than 1: 1 – for example, add 1.0111 1011.1 = 1.0111 23 .0011101 and 1.1010101 1.1101 = 1.0111 20 yielding 1.1010101 23 = 1101.0101 Binary Numbers • Multiplication of numbers in scientific notation is similar, multiply the mantissa and add the exponents 1.011 – for example, multiply 101100 = 1.011 25 and 0.1101 = 1.101 2–1 yielding 10.001111 24 =1.0001111 25 1.101 0.001011 0.000000 0.101100 1.011000 10.001111 Binary Numbers • We can verify this by converting to decimal numbers: 1011002 = 4410 0.11012 = 0.812510 where 44 0.8125 = 35.75 and 1.0001111 25 = 100011.11 = 32 + 2 + 1 + 0.5 + 0.25 = 35.75 Binary Numbers • Thus, we have seen that the mechanics of binary numbers are identical to the mechanics of decimal numbers Usage Notes • These slides are made publicly available on the web for anyone to use • If you choose to use them, or a part thereof, for a course at another institution, I ask only three things: – that you inform me that you are using the slides, – that you acknowledge my work, and – that you alert me of any mistakes which I made or changes which you make, and allow me the option of incorporating such changes (with an acknowledgment) in my set of slides Sincerely, Douglas Wilhelm Harder, MMath [email protected]