Now signed_int max value is 2,147,483,647 i.e. 2^31 and 1 bit is sign bit, so
when I run long a = 2,147,483,647 + 1;
It gives a = -2,147,483,648
as answer.. This hold good.
But, 24*60*60*1000*1000 = 86400000000
(actually)...
In java, 24*60*60*1000*1000 it equals to 500654080
..
I understand that it is because of overflow in integer, but what processing made this value come, What logic was used to get that number by Java. I also refered here.