Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Floating point numbers

  1. Mar 9, 2016 #1
    I'm finding it difficult to find the exact value of epsilon on python? Moreover, I am also supposed to find the smallest floating point number as well.

    Wikipedia tells me that the machine epsilon is 2−52 ≈ 2.22e-16 for 64-bit
    IEEE 754 - 2008? Is this the exact value on Python?

    Outside of that, I'm not sure where to start.
     
  2. jcsd
  3. Mar 9, 2016 #2

    SteamKing

    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

    Programmers have written routines to test for the machine epsilon using various programming languages. You could probably do a Google search and find either a routine or a description of one to use in Python.
     
  4. Mar 9, 2016 #3

    Mark44

    Staff: Mentor

    In Python v3.4.2, epsilon is 2.220446049250313e-16. The float_info member of the sys module contains this information.
     
  5. Mar 9, 2016 #4
    I just tried out sys. and got the following:

    >>> sys.float_info.epsilon
    2.220446049250313e-16
    >>> sys.float_info.min
    2.2250738585072014e-308

    I am looking for the smallest floating point number. Oddly, I was expecting the smallest floating point number to be greater than machin epsilon.

    PS: Will try that out as well SteamKing.
     
  6. Mar 9, 2016 #5

    Mark44

    Staff: Mentor

    Machine epsilon and the smallest floating point number are different things.
    From the Python docs:
    epsilon - difference between 1 and the least value greater than 1 that is representable as a float
    min - minimum positive normalized float
     
  7. Mar 9, 2016 #6
    Oh that makes sense. Now what I even more puzzling is that I'm supposed to find a min floating point such that, it plus 1 should not return 1. Interestingly, the output I am getting when adding min float and 1 is 1.
     
  8. Mar 9, 2016 #7

    Mark44

    Staff: Mentor

    That's really not that surprising. The smallest positive number that you can add to 1, and still get 1, is machine epsilon, which is many orders of magnitude larger than min.
     
  9. Mar 9, 2016 #8
    Why are we dealing with homework in this forum?
     
  10. Mar 9, 2016 #9

    Mark44

    Staff: Mentor

    Good point.
    @BubblesAreUs, this should have been posted in the Homework & Coursework section, under Engineering & Computer Science. For future posts of this nature, please put them in that forum section.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Floating point numbers
  1. Floating point error (Replies: 8)

  2. Matlab floating point (Replies: 6)

  3. Floating point numbers. (Replies: 18)

Loading...