File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes abs() method of Math class Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "abs() method of Math class" Watch "abs() method of Math class" New topic

abs() method of Math class

Shubhada Nandarshi
Ranch Hand

Joined: Jun 10, 2005
Posts: 59
Hi friends;

We know the abs()method of Math class returns the absulute val of the num.

but if we try

class Test{

public static void main(String args[]){

gives an o/p as:



is it because, the no. is very big no. & abs() can't take such big no for operation?

Mishra Anshu
Ranch Hand

Joined: Sep 16, 2003
Posts: 224
Integer.MAX_VALUE = 2147483647
Integer.MIN_VALUE = -2147483648

I think you are expecting abs(Integer.MIN_VALUE) = 2147483648, but that can't be represented as it exceeds the Integer's range.

So,the value is -2147483648 which you may verify
by printing

System.out.println(Integer.MAX_VALUE + 1);

"Ignorance is bliss"
Timmy Marks
Ranch Hand

Joined: Dec 01, 2003
Posts: 226
Integer.MIN_VALUE is represented in binary as 10000000000000000000000000000000. Since this is a negative number, the absolute value will be -1 * the number - The twos complement is the ones complement plus one - The ones complement will be 01111111111111111111111111111111 and when we add 1 to it, we get 10000000000000000000000000000000 (which is Integer.MIN_VALUE again!), so the problem is not that abs() cannot handle such large numbers, the problem is that ints are 32 bits.
Shubhada Nandarshi
Ranch Hand

Joined: Jun 10, 2005
Posts: 59
thanks guys.
I got the ans.

bye ,
take care.

Bert Bates

Joined: Oct 14, 2002
Posts: 8898
hi guys -

just a reminder - if you're studying for the 1.5 exam, this topic is not on the exam! yeah!

- Bert

Spot false dilemmas now, ask me how!
(If you're not on the edge, you're taking up too much room.)
I agree. Here's the link:
subject: abs() method of Math class
It's not a secret anymore!