Floating point numbers

  • #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.
 

Answers and Replies

  • #2
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,796
1,668
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.
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.
 
  • #3
34,010
5,660
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.
In Python v3.4.2, epsilon is 2.220446049250313e-16. The float_info member of the sys module contains this information.
 
  • #4
In Python v3.4.2, epsilon is 2.220446049250313e-16. The float_info member of the sys module contains this information.
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.
 
  • #5
34,010
5,660
I am looking for the smallest floating point number. Oddly, I was expecting the smallest floating point number to be greater than machin epsilon.
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
 
  • #6
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
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.
 
  • #7
34,010
5,660
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.
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.
 
  • #8
pbuk
Science Advisor
Gold Member
1,634
549
... I'm supposed to find a min floating point...
Why are we dealing with homework in this forum?
 
  • Like
Likes jim mcnamara
  • #9
34,010
5,660
Why are we dealing with homework in this forum?
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.
 

Related Threads on Floating point numbers

  • Last Post
Replies
18
Views
5K
Replies
7
Views
976
Replies
1
Views
2K
  • Last Post
Replies
8
Views
3K
Replies
2
Views
1K
  • Last Post
Replies
5
Views
11K
Replies
8
Views
4K
Replies
6
Views
792
Replies
5
Views
832
  • Last Post
Replies
2
Views
3K
Top