210 likes | 314 Views
Learn how to store fractions in binary using floating-point representation, including translating to binary, bias notation, addition, multiplication, & advantages/disadvantages.
E N D
Floating-Point Representation • We can store integers and characters easily in binary, but what about fractions? • ¼ = .25 = 2.5 * 10-1 • 9.1093897 * 10-31 – me-- mass of an electron • 1.6021733 * 10-19 – e – charge of an electron • 6.6260755 * 10-34 – h – plank’s constant • What are the components of the above #’s?
Moving to Binary • 9.1093897 * 10-31 – me-- mass of an electron • What would the equivalent be in binary? • ___________
Interpreting Floating-point • 9.471 = 9 + 4*.1 + 7*.01 + 1*.001 • The ith bit to the right of the decimal point of a decimal number represents______ • The ith bit to the right of the decimal point of a binary number represents _______
Translating to Binary • Translate left of decimal normally • Translate the right of the decimal • bit-by-bit *or* • Express as fraction, x/ 2y, and place x in y bits, filling to the left with 0’s. • Multiply by 2y to move decimal to proper position.
Example 1 – Translate the 7.75 = -1/4 = ¼ =
Bias Notation • Problem: Negative exponents have larger value than positive exponents • Solution: • Adjust exponent range • add ____ to all exponents
7.75 -1/4 1/4 No Bias 7.75 -1/4 1/4 Bias
Floating-Point Addition • How do we do decimal floating-point? • Is it the same as integer addition? • 7.5 + 3/8
Steps to floating-point addition • Right-shift _________ of smaller exponent until exponents match • Add the __________ • ______ to adjust decimal point • Round the result to fit into the significand
Associative property • (a + b) + c < == > a + (b + c)
a + (b + c) • 1.1two * 2-96 + 1.0two * 22 +-1.0two * 22
(a + b) + c • (1.1two * 2-96 + 1.0two * 22 )+ -1.0two * 22
Multiplication • 1.111two * 22 * 1.1two * 2-2
Multiplication • ________ exponents • ________ significands • ________ decimal point • ________ answer • determine the _______
What about bias notation? • 1.111two * 2129 * 1.1two * 2-125
Thought question • Some computers have separate fp and integer register files • Most instructions access only int or fp, not both. • How is this different from doubling the size of the register file? • What are the advantages? Disadvantages?
Summary • Floating-point greatly increases range of numbers stored in machine. • Floating-point representation has limited precision – can not store every number in range. • FP arithmetic sometimes rounds answers, violating algebraic properties. • FP arithmetic is much slower than integer arithmetic.