您的位置:首页 > 编程语言 > Java开发

java基本数据类型之整数型取值范围速算方法

2015-09-26 13:32 543 查看
这里只介绍快速计算出整数数据类型的方法,没有介绍具体数据内部原理(数据类型的二进制表示原理如:源码,反码,补码);


java整数类型包括:byte,short,int,long;

它们占用的内存情况为:

byte:1字节8位,有正负值

short:2字节16位,有正负值

int:4字节32位,有正负值

long:8字节64位,有正负值

表示的数值范围:

1.byte:

第一位为符号位0表示正数,1表示负数所以byte的正整数最大值应该是

0111 1111

转化十进制为:假设S=2^6+2^5+2^4+…+2^0

2S=2^7+2^6+…+2^1

S=2S-S=2^7-2^0=2^7-1=127

而负整数最小值应该是:

1000 0000

转为十进制为:2^7,因为是负数加上符号位-2^7=-128

最后得出byte取值范围:-128~127

2.short:

正整数的最大值应该是:

0111 1111 1111 1111

转化为十进制为:假设S=2^14+2^13+…2^0

2S=2^15+2^14+…+2^1

S=2S-S=2^15-2^0=2^15-1=32767

负整数的最小值为:

1000 0000 0000 0000

转为十进制为:2^15,因为是负数加上符号位-2^15=-32768

最后得出short取值范围:-32768~32767

3.int:

正整数的最大值应该是:

0111 1111 1111 1111 1111 1111 1111 1111

转化为十进制为:假设S=2^30+2^29+…2^0

2S=2^31+2^30+…+2^1

S=2S-S=2^31-2^0=2^31-1=2147483647

负整数的最小值为:

1000 0000 0000 0000 0000 0000 0000 0000

转为十进制为:2^31,因为是负数加上符号位-2^31=-2147483648

最后得出int取值范围:-2147483648~2147483647

4.long

一样的计算方法,不再累述
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java基础