File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Inconsistent division by zero Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Inconsistent division by zero" Watch "Inconsistent division by zero" New topic

Inconsistent division by zero

Dan Temple
Ranch Hand

Joined: Jul 10, 2001
Posts: 93
Hey everyone!
I love this site!!! This is my first post, so please be gentle ...
I have a very straightforward question, but I'm not sure whether it is a basic question or an intermediate one. My question is why is there a difference between integers and floating points when there is a division by zero? Integer division results in an arithmetic exception, while floating point division results in either the constants Float.POSITIVE_INFINITY or Double.POSITIVE_INFINITY. Why not just pick one method and consistently apply it for both integers and floating points?
Cindy Glass
"The Hood"

Joined: Sep 29, 2000
Posts: 8521
Because floats and doubles deal with decimals. To accurately track what a doubles value REALLY is you would need to have an infinite number of decimals.
If you have a 0.0 double or float it is unknown if about a zillion decimal places out there might actually be a value that makes in "not exactly" zero. Therefore it MIGHT actually be a decimal value that is just VERY VERY SMALL or BIG. Thus the POSITIVE_INFINITY or NEGATIVE-INFINITY.
With an integer there is NO doubt that you blew it, therefore the exception.

"JavaRanch, where the deer and the Certified play" - David O'Meara
I agree. Here's the link:
subject: Inconsistent division by zero
It's not a secret anymore!