inst eecs berkeley edu cs61c CS61C Machine Structures Lecture 11 Floating Point II 2007 7 12 Scott Beamer Instructor Sony Nintendo make E3 News CS61C L11 Floating Point II 1 www nytimes com Beamer Summer 2007 UCB Review Floating Point numbers approximate values that we want to use IEEE 754 Floating Point Standard is most widely accepted attempt to standardize interpretation of such numbers Every desktop or server computer sold since 1997 follows these conventions Summary single precision 31 30 23 22 S Exponent 1 bit 8 bits 0 Significand 23 bits 1 S x 1 Significand x 2 Exponent 127 Double precision identical bias of 1023 CS61C L11 Floating Point II 2 Beamer Summer 2007 UCB Father of the Floating point standard IEEE Standard 754 for Binary FloatingPoint 1989 ACM Turing Arithmetic Award Winner Prof Kahan www cs berkeley edu wkahan ieee754status 754story html CS61C L11 Floating Point II 3 Beamer Summer 2007 UCB Precision and Accuracy Don t confuse these two terms Precision is a count of the number bits in a computer word used to represent a value Accuracy is a measure of the difference between the actual value of a number and its computer representation High precision permits high accuracy but doesn t guarantee it It is possible to have high precision but low accuracy Example float pi 3 14 pi will be represented using all 24 bits of the significant highly precise but is only an approximation not accurate CS61C L11 Floating Point II 4 Beamer Summer 2007 UCB Fractional Powers of 2 i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CS61C L11 Floating Point II 5 2 i 1 0 1 0 5 1 2 0 25 1 4 0 125 1 8 0 0625 1 16 0 03125 1 32 0 015625 0 0078125 0 00390625 0 001953125 0 0009765625 0 00048828125 0 000244140625 0 0001220703125 0 00006103515625 0 000030517578125 Beamer Summer 2007 UCB Representation of Fractions Binary Point like decimal point signifies boundary between integer and fractional parts Example 6 bit representation xx yyyy 21 20 4 2 1 2 2 2 3 2 10 10102 1x21 1x2 1 1x2 3 2 62510 If we assume fixed binary point range of 6 bit representations with this format 0 to 3 9375 almost 4 CS61C L11 Floating Point II 6 Beamer Summer 2007 UCB Understanding the Significand 1 2 Method 1 Fractions In decimal 0 34010 34010 100010 3410 10010 In binary 0 1102 1102 10002 610 810 112 1002 310 410 Advantage less purely numerical more thought oriented this method usually helps people understand the meaning of the significand better CS61C L11 Floating Point II 7 Beamer Summer 2007 UCB Understanding the Significand 2 2 Method 2 Place Values Convert from scientific notation In decimal 1 6732 1x100 6x10 1 7x10 2 3x10 3 2x10 4 In binary 1 1001 1x20 1x2 1 0x2 2 0x2 3 1x2 4 Interpretation of value in each position extends beyond the decimal binary point Advantage good for quickly calculating significand value use this method for translating FP numbers CS61C L11 Floating Point II 8 Beamer Summer 2007 UCB Example Converting Binary FP to Decimal 0 0110 1000 101 0101 0100 0011 0100 0010 Sign 0 positive Exponent 0110 1000two 104ten Bias adjustment 104 127 23 Significand 1 1x2 1 0x2 2 1x2 3 0x2 4 1x2 5 1 2 1 2 3 2 5 2 7 2 9 2 14 2 15 2 17 2 22 1 0ten 0 666115ten Represents 1 666115ten 2 23 1 986 10 7 CS61C L11 Floating Point II 9 Beamer Summer 2007 UCB Converting Decimal to FP 1 3 Simple Case If denominator is an exponent of 2 2 4 8 16 etc then it s easy Show MIPS representation of 0 75 0 75 3 4 11two 100two 0 11two Normalized to 1 1two x 2 1 1 S x 1 Significand x 2 Exponent 127 1 1 x 1 100 0000 0000 x 2 126 127 1 0111 1110 100 0000 0000 0000 0000 0000 CS61C L11 Floating Point II 10 Beamer Summer 2007 UCB Converting Decimal to FP 2 3 Not So Simple Case If denominator is not an exponent of 2 Then we can t represent number precisely but that s why we have so many bits in significand for precision Once we have significand normalizing a number to get the exponent is easy So how do we get the significand of a neverending number CS61C L11 Floating Point II 11 Beamer Summer 2007 UCB Converting Decimal to FP 3 3 Fact All rational numbers have a repeating pattern when written out in decimal Fact This still applies in binary To finish conversion Write out binary number with repeating pattern Cut it off after correct number of bits different for single v double precision Derive Sign Exponent and Significand fields CS61C L11 Floating Point II 12 Beamer Summer 2007 UCB Example Representing 1 3 in MIPS 1 3 0 33333 10 0 25 0 0625 0 015625 0 00390625 1 4 1 16 1 64 1 256 2 2 2 4 2 6 2 8 0 0101010101 2 20 1 0101010101 2 2 2 Sign 0 Exponent 2 127 125 01111101 Significand 0101010101 0 0111 1101 0101 0101 0101 0101 0101 010 CS61C L11 Floating Point II 13 Beamer Summer 2007 UCB Representation for In FP divide by 0 should produce not overflow Why OK to do further computations with E g X 0 Y may be a valid comparison Ask math majors IEEE 754 represents Most positive exponent reserved for Significands all zeroes CS61C L11 Floating Point II 14 Beamer Summer 2007 UCB Representation for 0 Represent 0 exponent all zeroes significand all zeroes too What about sign 0 0 00000000 00000000000000000000000 0 1 00000000 00000000000000000000000 Why two zeroes Helps in some limit comparisons Ask math majors CS61C L11 Floating Point II 15 Beamer Summer 2007 UCB Special Numbers What have we defined so far Single Precision Exponent 0 0 Significand Object 0 0 nonzero 1 254 anything fl pt 255 0 255 nonzero Professor Kahan had clever ideas Waste not want not Exp 0 255 Sig 0 CS61C L11 Floating Point II 16 Beamer Summer 2007 UCB Representation for Not a Number What is sqrt 4 0 or 0 0 If not an error these shouldn t be either Called Not a Number NaN Exponent 255 Significand nonzero Why is this useful Hope NaNs help with debugging They contaminate op NaN X NaN CS61C L11 Floating Point II 17 Beamer Summer 2007 UCB Representation for Denorms 1 2 Problem There s a gap among representable FP numbers around 0 Smallest representable pos num a 1 0 2 2 126 2 126 Second smallest representable pos num b 1 000 1 2 2 126 2 126 2 149 a 0 2 126 b a 2 149 CS61C L11 Floating Point II 18 Gaps b 0 a Normalization and implicit 1 is to blame Beamer Summer 2007 UCB Representation for Denorms 2 2 Solution We still haven t used Exponent 0 Significand nonzero Denormalized number no …
View Full Document
Unlocking...