Integer Data Type Range -2^31 to 2^31-1 and Not -2^31 to 2^31

Why is Integer Data Type Range -2^31 to 2^31-1 and Not -2^31 to 2^31 … And Similarly all the data types like bytes , long etc are having -1 (a value less) in their positive side of range

Because they are including zero also. For example for int we have zero also so we remove one from the positive side so as to get total 256 elements