java中int取值范围是怎么计算的?
来源:互联网 发布:好看的日剧知乎 编辑:程序博客网 时间:2024/06/10 16:33
首先jdk中定义int占4个字节 ===> 32位(后面所有的计算都是以此为依据的)
32位就是jvm只给分配32个格子的空间,用以存放数据。
总所周知计算机中用0和1存放数据。那么,32个格子中放满0或1的方法 有2的32次方种:
所以,这32个格子中,或者说32位的空间能标识10进制的数字:
最小
00000000000000000000000000000000最大11111111111111111111111111111111第一种推算法:将二进制最大的数字(32个1)转换成10进制,即 4294967296;
第二种推算法:既然有2的32次方种算法,那么按照10进制最大的数就是2的32次方,即4294967296;
可惜,上面这种计算的是无符号,即正数,但是java中int有正负之分。所以32个格子中占用一个格子标识正负。所以只能用31个格子来标识数值。
下图:
X0000000000000000000000000000000x为0 1来标识正负。最后int能标识的最大/最小数字是:2的31次方:+/- 2147483648
1 0
- java中int取值范围是怎么计算的?
- C语言中int的取值范围是怎么算出来的
- C语言中int的取值范围是怎么算出来的
- Java中int的取值范围
- Java中int的取值范围
- Java中int的取值范围
- 怎么计算c++中各个数据类型的取值范围
- 怎么计算c++中各个数据类型的取值范围
- 关于int类型取值范围的计算 以及为何16位int类型范围是- 32768 ~ 32767
- java 中 byte,short,int,long的取值范围
- java 中 int 类型的取值范围
- int的取值范围
- int的取值范围
- int的取值范围
- java中short、int、long、float、double取值范围
- java中short、int、long、float、double取值范围
- java中short、int、long、float、double取值范围
- java中short、int、long、float、double取值范围
- Ubuntu 64bit安装ulipad4.1
- 做自己的阳光,照亮自己 温暖他人
- android EditText inputType说明
- MySQL: Secure Web Apps - SQL Injection techniques
- C语言中有没有bool类型?
- java中int取值范围是怎么计算的?
- 大并发下listen的连接完成对列backlog太小导致客户超时,服务器效率低下
- 解决Eclipse无法打开“Failed to load the JNI shared library”
- UITextInputDelegate 的使用
- Android技术之ListView分割线显示和隐藏
- 关于RapidMiner的几点特征
- IOS 打包、安装、重签名 .app & .ipa
- iOS上使用自定义ttf字体
- 联诚发(LCF):航空领域同LED广告的亲密接触