public static void main (String[] args) { int i1 = (Integer.MAX_VALUE + 2); int i2 = (Integer.MIN_VALUE + 1); int i3 = (Integer.MIN_VALUE + 2); int i4 = (Integer.MIN_VALUE + 3); System.out.println((i1==i2)+","+(i1 ==i3)+","+(i1 ==i4)); } Prints output as : true,false,false Can one expalin with binary representation of the output. Is it possible to represent MAX_VALUE in binary? If so how. Thanks again.

Integer values go in a circle -- if you add 1 to MAX_VALUE (a large positive number), you will get MIN_VALUE (a large negative number). MAX_VALUE is represented in binary as 0111 1111 1111 1111 1111 1111 1111 1111 If you add 1 to that, you get MIN_VALUE 1000 0000 0000 0000 0000 0000 0000 0000