• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Division by zero floating point question

 
Vanitha Naidu
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am going through Java 2 Sun Certification Study guide by Sierra/Bates.

On Page 163 (last paragraph) the authors discuss division by zero and state that "Floating-point numbers divided by zero return either positive or negative infinity, depending on whether or not the zero is positive or negative!"

When I tested this in code I get -infinity only when the dividend is negative regardless of whether 0(divisor) is positive or negative

i.e. -6.25/0 or -6.25/-0 is -infinity and
6.25/0 or 6.25/-0 is infinity

so the answer is dependant on the sign of the dividend and not on whether 0 is positive or negative.

Please help, is the book incorrect or am I interpreting this incorrectly.

Thanks
Vanitha
 
Chris Allen
Ranch Hand
Posts: 127
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I created a small program to test the above problem. Here is the code:

The output is as follows:
Value is:-Infinity
Value is:-Infinity
Value is:Infinity
Value is:Infinity

I am guessing that your divisor is not a floating point number (either a float or double) but an integer which is accounting for the incorrect result.
 
Sanyev Babu
Ranch Hand
Posts: 132
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
in 6.25/-0 the -0 is an integer. When it gets pormoted to a float it becomes 0.0 not -0.0. That's why you are getting positive infinity for 6.25/-0
Sanyev
 
Vanitha Naidu
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you for that explanation, I was not using a floating point zero for my divisor.


Vanitha Naidu
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic