Floating-Point - UCSB Computer Science

Download Report

Transcript Floating-Point - UCSB Computer Science

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?
1.
2.
3.
4.
Moving to Binary
• 9.1093897 * 10-31 – me-- mass of an electron
• What would the equivalent be in binary?
• ___________
Single
Precision
Double
Precision
Sign
Exponent
Significand
1 bit
8 bits
23 bits
1 bit
11 bits
52 bits
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
1. Translate left of decimal normally
2. Translate the right of the decimal
a. bit-by-bit *or*
b. Express as fraction, x/ 2y, and place x in y
bits, filling to the left with 0’s.
3. Multiply by 2y to move decimal to proper
position.
Example 1 – Translate the
7.75 =
-1/4 =
¼=
following numbers into binary fp
Sign
Exp
Significand
Bias Notation
• Problem: Negative exponents have
larger value than positive exponents
• Solution:
– Adjust exponent range
– add ____ to all exponents
Sign Exp
No Bias
Significand
7.75 0
0..010
11110….000
1
-1/4
1..110
00000….000
1/4
Bias
7.75 0
11110….000
1
-1/4
00000….000
1/4
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
1. Right-shift _________ of smaller
exponent until exponents match
2. Add the __________
3. ______ to adjust decimal point
4. Round the result to fit into the
significand
Example 1: 7.5 + ¾
1.111two * 22 + 1.1two * 2-1
Example 2:
1.1two * 2-96 + 1.0two * 22
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
1. ________ exponents
2. ________ significands
3. ________ decimal point
4. ________ answer
5. 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?
Thought question
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.