DOC PREVIEW
Berkeley COMPSCI 61C - Lecture 15 Floating Point I

This preview shows page 1-2-24-25 out of 25 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 25 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

inst eecs berkeley edu cs61c CS61C Machine Structures Lecture 15 Floating Point I 2008 02 27 TA Ordinaire Dave Jacobs www ocf berkeley edu djacobs Doomsday Seed Vault Opens The seed bank on a remote island near the Arctic Ocean is considered the ultimate safety net for the world s seed collections protecting them from a wide range of threats including war natural disasters lack of funding or simply poor agricultural management www cnn com 2008 WORLD europe 02 26 norway seeds index html cnnSTCText CS61C L15 Floating Point I 1 Jacobs Spring 2008 UCB Quote of the day 95 of the folks out there are completely clueless about floating point James Gosling Sun Fellow Java Inventor 1998 02 28 CS61C L15 Floating Point I 2 Jacobs Spring 2008 UCB Review of Numbers Computers are made to deal with numbers What can we represent in N bits 2N things and no more They could be Unsigned integers 0to 2N 1 for N 32 2N 1 4 294 967 295 Signed Integers Two s Complement 2 N 1 to 2 N 1 1 for N 32 2 N 1 2 147 483 648 CS61C L15 Floating Point I 3 Jacobs Spring 2008 UCB What about other numbers 1 Very large numbers seconds millennium 31 556 926 00010 3 155692610 x 1010 2 Very small numbers Bohr radius 0 000000000052917710m 5 2917710 x 10 11 3 Numbers with both integer fractional parts 1 5 First consider 3 our solution will also help with 1 and 2 CS61C L15 Floating Point I 4 Jacobs Spring 2008 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 L15 Floating Point I 5 Jacobs Spring 2008 UCB Fractional Powers of 2 i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CS61C L15 Floating Point I 6 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 Jacobs Spring 2008 UCB Representation of Fractions with Fixed Pt What about addition and multiplication Addition is straightforward 01 100 00 100 10 000 1 510 0 510 2 010 01 100 00 100 Multiplication a bit more complex 00 000 000 00 0110 0 00000 00000 0000110000 1 510 0 510 HI LOW Where s the answer 0 11 need to remember where point is CS61C L15 Floating Point I 7 Jacobs Spring 2008 UCB Representation of Fractions So far in our examples we used a fixed binary point what we really want is to float the binary point Why Floating binary point most effective use of our limited bits and thus more accuracy in our number representation example put 0 1640625 into binary Represent as in 5 bits choosing where to put the binary point 000000 001010100000 Store these bits and keep track of the binary point 2 places to the left of the MSB Any other solution would lose accuracy With floating point rep each numeral carries a exponent field recording the whereabouts of its binary point The binary point can be outside the stored bits so very large and small numbers can be represented CS61C L15 Floating Point I 8 Jacobs Spring 2008 UCB Scientific Notation in Decimal mantissa 6 0210 x 1023 decimal point exponent radix base Normalized form no leadings 0s exactly one digit to left of decimal point Alternatives to representing 1 1 000 000 000 Normalized 1 0 x 10 9 Not normalized 0 1 x 10 8 10 0 x 10 10 CS61C L15 Floating Point I 9 Jacobs Spring 2008 UCB Scientific Notation in Binary mantissa 1 0two x 2 1 binary point exponent radix base Computer arithmetic that supports it called floating point because it represents numbers where the binary point is not fixed as it is for integers Declare such variable in C as float CS61C L15 Floating Point I 10 Jacobs Spring 2008 UCB Floating Point Representation 1 2 Normal format 1 xxxxxxxxxxtwo 2yyyytwo Multiple of Word Size 32 bits 31 30 23 22 S Exponent 1 bit 8 bits Significand 23 bits 0 S represents Sign Exponent represents y s Significand represents x s Represent numbers as small as 2 0 x 10 38 to as large as 2 0 x 1038 CS61C L15 Floating Point I 11 Jacobs Spring 2008 UCB Floating Point Representation 2 2 What if result too large 2 0x1038 2 0x1038 Overflow Exponent larger than represented in 8bit Exponent field What if result too small 0 2 0x10 38 0 2 0x10 38 Underflow Negative exponent larger than represented in 8 bit Exponent field overflow 2x1038 overflow underflow 1 2x10 38 0 2x10 38 1 2x1038 What would help reduce chances of overflow and or underflow CS61C L15 Floating Point I 12 Jacobs Spring 2008 UCB Double Precision Fl Pt Representation Next Multiple of Word Size 64 bits 31 30 20 19 S Exponent Significand 1 bit 11 bits 20 bits Significand cont d 32 bits 0 Double Precision vs Single Precision C variable declared as double Represent numbers almost as small as 2 0 x 10 308 to almost as large as 2 0 x 10308 But primary advantage is greater accuracy due to larger significand CS61C L15 Floating Point I 13 Jacobs Spring 2008 UCB QUAD Precision Fl Pt Representation Next Multiple of Word Size 128 bits Unbelievable range of numbers Unbelievable precision accuracy Currently being worked on IEEE 754r Current version has 15 exponent bits and 112 significand bits 113 precision bits Oct Precision Some have tried no real traction so far Half Precision Yep that s for a short 16 bit en wikipedia org wiki Quad precision en wikipedia org wiki Half precision CS61C L15 Floating Point I 14 Jacobs Spring 2008 UCB Administrivia Midterm in 2 weeks Proj2 is out Due Wednesday get started early to save time to study for the Midterm Mon 2008 03 10 5 8pm Location TBA Conflicts DSP Email Head TA Dave cc Dan How should we study for the midterm Form study groups don t prepare in isolation Attend the review session 2008 03 09 2pm in Location TBA Look over HW Labs Projects class notes Write up your handwritten 1 page study sheet Go over old exams HKN office has put them online link from 61C home page Attend TA office hours and work out hard probs CS61C Jacobs Spring 2008 UCB L15 Floating Point I 15 IEEE 754 Floating Point Standard 1 3 Single Precision DP similar 31 30 23 22 S Exponent Significand 1 bit 8 bits 0 23 bits Sign bit 1 means negative positive 0 means Significand To pack more bits leading 1 implicit for normalized numbers 1 23 …


View Full Document

Berkeley COMPSCI 61C - Lecture 15 Floating Point I

Documents in this Course
SIMD II

SIMD II

8 pages

Midterm

Midterm

7 pages

Lecture 7

Lecture 7

31 pages

Caches

Caches

7 pages

Lecture 9

Lecture 9

24 pages

Lecture 1

Lecture 1

28 pages

Lecture 2

Lecture 2

25 pages

VM II

VM II

4 pages

Midterm

Midterm

10 pages

Load more
Download Lecture 15 Floating Point I
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 15 Floating Point I and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 15 Floating Point I 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?