java - Why does the sign bit not affect the Integer.MAX_VALUE but affects the MIN Value? -


system.out.println(integer.max_value); system.out.println(integer.min_value); 

prints:

2147483647 -2147483648 

why max value 2^31 -1 (the sign bit 0 , not add value of number) , yet min value -2^31 (the sign bit 1 , add value then??).

think way: have many binary patterns sign bit set 1 number of binary patterns sign bit set 0. however, need represent zero, neither positive nor negative. since 0 represented pattern of zeros, deducts set of positive numbers representable given number of bits, count of representable negative numbers going greater one.


Comments