Win a copy of Kotlin in Action this week in the Kotlin forum!
programming forums Java Java JSRs Mobile Certification Databases Caching Books Engineering Languages Frameworks Products This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
Sheriffs:
Saloon Keepers:
Bartenders:

# Arithmatic Exception

Astha Sharma
Ranch Hand
Posts: 250
Why doesn't it throw ArithmaticException?

Instead it prints infinity. Isn't java partial with int in this case

Henry Wong
author
Sheriff
Posts: 23283
125
Astha Sharma wrote:Why doesn't it throw ArithmaticException?

Instead it prints infinity. Isn't java partial with int in this case

Not sure what you mean by "partial with int", but Java supports the IEEE 754 floating point standard -- and that's how it is defined. A positive number divided by positive zero results in positive infinity.

Henry

Astha Sharma
Ranch Hand
Posts: 250
But Arithmatic Exception is thrown when this is written-
int i=100/0;
Shouldn't the exception also be thrown when we devide a double with 0?
double i=100.0/0

Anayonkar Shivalkar
Bartender
Posts: 1558
5
Astha Sharma wrote:But Arithmatic Exception is thrown when this is written-
int i=100/0;
Shouldn't the exception also be thrown when we devide a double with 0?
double i=100.0/0

Well, as Henry Wong has already mentioned, 'double' in Java follows IEEE 754 floating point standard. As per that, a positive floating point number devided by 0 results in positive infinity.

'int' in Java does not follow this standard, and hence we get ArithmeticException.

I hope this helps.

Henry Wong
author
Sheriff
Posts: 23283
125
Astha Sharma wrote:But Arithmatic Exception is thrown when this is written-
int i=100/0;
Shouldn't the exception also be thrown when we devide a double with 0?
double i=100.0/0

For ints, Java follows the two complement format -- and that format doesn't define infinity. Hence, it throws an exception. For floats, as mentioned, it follows the IEEE format.

Also, note that these two are the common format that are supported by most (if not all) modern day processors and languages.

Perhaps, you are asking why the standards don't agree? (which of course, we can only speculate)
Henry

Astha Sharma
Ranch Hand
Posts: 250
Henry Wong wrote:
Perhaps, you are asking why the standards don't agree? (which of course, we can only speculate)
Henry

This contradiction of statndards always astonish me but don't worry, i'm not going to ask this
Thankyou

 Did you see how Paul cut 87% off of his electric heat bill with 82 watts of micro heaters?