java中整数类型(shortintlang)的存储方式

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

在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表示负数。在计算机中数据是使用其补码表示的,但正数补码是其本身,负数的补码是负数的源码取反加一得到的补码。

一、正数的原码、反码、补码都相等

例:0000 1010(在十进制中表示+10,左数第一位为符号位)

它的原码、反码、补码都是0000 1010

二、负数的原码是其本身,负数的反码是将符号不变,把符号后边的数取反,对于负数的补码 是把原码取反后加1

例:1000 1010(在十进制中表示-10)

它的原码是 1000 1010

它的反码是 1111 0101

它的补码是 1111 0110

例如short类型: -1 二进制标示:10000000 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)

如图标示:

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航