Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Math.abs(Integer.MIN_VALUE)) not returning abs val

 
kundan varma
Ranch Hand
Posts: 323
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
HI All
In the following code why the last line's output is so

int k=Integer.MAX_VALUE;
System.out.println("Integer.MIN_VALUE \t" + Integer.MIN_VALUE);
System.out.println("Math.abs( k )\t" + Math.abs(k));
System.out.println("Math.abs( Integer.MIN_VALUE )\t" + Math.abs(Integer.MIN_VALUE));
output is:
Integer.MIN_VALUE -2147483648
Math.abs( k ) 2147483647
Math.abs( Integer.MIN_VALUE ) -2147483648

Thanks
kundan
 
Animesh Shrivastava
Ranch Hand
Posts: 298
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Look into the java api,
API
it says for the abs method of Math class:

Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the result is that same value, which is negative.

So, u get such output.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic