| Author |
Math.abs Q
|
Nitin Bhagwat
Ranch Hand
Joined: Sep 09, 2004
Posts: 132
|
|
Why abs of Long.MIN_VALUE gives negative result? Thank you in advance!
|
"Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world."
|
 |
PNS Subramanian
Ranch Hand
Joined: Jul 13, 2004
Posts: 150
|
|
Incidentally Math.abs(Long.MIN_VALUE)+1 gives a negative value and Math.abs(Long.MIN_VALUE)-1 gives a positive value.
|
 |
Mike Gershman
Ranch Hand
Joined: Mar 13, 2004
Posts: 1272
|
|
In 2's complement arithmetic, the smallest negative number of a given size is one larger in magnitude than the largest positive number of the same size. For example, a long runs from -9223372036854775808 to 9223372036854775807. If you take the absolute value of Long.MIN_VALUE, there is no correct answer representable as a Long. From the Java 5 API for Math.abs():
Note that if the argument is equal to the value of Long.MIN_VALUE, the most negative representable long value, the result is that same value, which is negative.
[ December 04, 2004: Message edited by: Mike Gershman ]
|
Mike Gershman
SCJP 1.4, SCWCD in process
|
 |
 |
|
|
subject: Math.abs Q
|
|
|