java int型最大值/最小值,最大值+1,最小值-1

java中,int型变量是有符号整形变量。int型变量占用4个字节(32bit位)。

int型变量采用补码形式来表示数值。对于一个二进制数,正数的补码是其本身,负数的补码是所有二进制位取反再加一。

int变量中,第一位是符号位(0表示正数,1表示负数)。

我们下面来实际分析int型中正数和负数是怎么表示的。

5

数字为正数,第一位符号为是0,正数5的二进制码是 000 0000 0000 0000 0000 0000 0000 0101,补码还是000 0000 0000 0000 0000 0000 0000 0101。把符号位和数值合起来,得到int型的5再内存中的32位二进制码是 0000 0000 0000 0000 0000 0000 0000 0101

-5

数字为负数,第一位符号为是1,负数5的绝对值的二进制码是 000 0000 0000 0000 0000 0000 0000 0101,因为是负数,其补码是 111 1111 1111 1111 1111 1111 1111 1011,把符号位和数值合起来,得到int型的-5再内存中的32位二进制码是 1111 1111 1111 1111 1111 1111 1111 1011

int型能表示的最大正数

int型的32bit位中,第一位是符号为,正数位0。因此,int型能表示的最大的正数的二进制码是0111 1111 1111 1111 1111 1111 1111 1111,也就是2^31-1。

int型能表示的最小负数

最小的负数的二进制码是1000 0000 0000 0000 0000 0000 0000 0000,其补码还是1000 0000 0000 0000 0000 0000 0000 0000,值是2^31。

最大值+1

最大值的二进制码是0111 1111 1111 1111 1111 1111 1111 1111 1111,加一以后二进制码是1000 0000 0000 0000 0000 0000 0000 0000,是int所能表示的最小的负数。

最小值-1

最小值的二进制码是1000 0000 0000 0000 0000 0000 0000 0000,减一后称为0111 1111 1111 1111 1111 1111 1111 1111,是最大的正数。

你可能感兴趣的:(java int型最大值/最小值,最大值+1,最小值-1)