你的位置:首页 > Java教程

[Java教程]java中整数类型(short int lang)的存储方式


在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解。

其他的三种类型如下:

1、
基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)

2、
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647  (2的31次方-1)


3、
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)

拿short类型举例:

  首先需要明白在计算机中最高位为符号位,0表示正数,1表示负数。

    负数的二进制表示为:正数的二进制取反加一,即是正数的补码。

    例如short类型: +1  二进制标示: 00000000 00000001(最小的正整数+1 )

          取反:          11111111 11111110  

          加1 补码:      11111111 11111111  (最大的负整数-1)

明白了 以上这些再说short的二进制标示:

    先看这个: 最小的负整数 -32768     二进制标示:10000000   00000000 

          最大的负整数-1     二进制标示:11111111  11111111 

          0           二进制标示:00000000  0000000 

         最小的正整数 1               二进制标示: 00000000 00000001

         最大的正整数:32767  二进制标示: 01111111  11111111 

最小的负数-32768加1之后二进制标示为:10000000  00000001 一直加1直到到 11111111 11111111(-1)达到最大的负整数,然后再加1变为:1 00000000  0000000   注意此处字节长度为 17位,而short类型只取 16位即:00000000  0000000   所以-1+1之后变为0 然后00000000 00000000再一直加1直到 01111111  11111111 达到最大正整数(32767),32767再加1变为:10000000   00000000 即为最小的负整数 -32768(2^15)

如图标示: