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,漫谈java学习之路
- 设置jdk环境变量时lib中的rt.jar ,dt.jar ,tool.jar是什么,作用是什么
- Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
- java基础知识笔记
- java中web应用中重定向与转发的区别
- java基础篇---枚举详解
- java基础数据类型包装类
- equals与null
- Java.基础(学习笔记)
- 一个简单的加密解密程序
- JAVA基础-IO流
- 用java解决约瑟夫问题
- date and time
- Java中基础数据类型
- java基础之IO操作
- javaIO中FileInputStream,FileReader等的区别
- Java基础
- 更精确地进行浮点数计算
- 通过format方法格式化字符串和日期时间
- JAVA基础