java中int取值范围是怎么计算的?
首先jdk中定义int占4个字节 ===> 32位(后面全部的计算都是以此为根据的)
32位就是jvm仅仅给分配32个格子的空间,用以存放数据。
总所周知计算机中用0和1存放数据。
那么,32个格子中放满0或1的方法 有2的32次方种:
所以。这32个格子中。或者说32位的空间能标识10进制的数字:
最小
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
最大
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
第一种推算法:将二进制最大的数字(32个1)转换成10进制,即 4294967296;
另外一种推算法:既然有2的32次方种算法,那么依照10进制最大的数就是2的32次方。即4294967296;
可惜。上面这样的计算的是无符号。即正数。可是java中int有正负之分。所以32个格子中占用一个格子标识正负。
所以仅仅能用31个格子来标识数值。
下图:
X | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
x为0 1来标识正负。
最后int能标识的最大/最小数字是:2的31次方:+/- 2147483648
java中int取值范围是怎么计算的?相关推荐
- Java中int取值范围问题
Java 代码中 int32 变量 取值范围是 [-2147483648, 2147483647] 若有int型变量n,则 n∈[−2147483648,2147483647] ,因此当 n = -2 ...
- java中integer取值范围,Java中的Integer取值范围(-2^32 ~ 2^31 - 1)分析
在Java中Integer的最小值(MIN_VALUE).最大值(MAX_VALUE)定义如下: /** * A constant holding the minimum value an {@cod ...
- java中 byte 取值范围_【二进制基础-java中byte的取值范围-推导过程】
java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为"1"表示负数. 正数补码为其本身: 负数补码为其绝对值各位取反加1: 例如 ...
- java中 byte 取值范围_java中为什么byte的取值范围是-128到+127
概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为"0"表示正数,最高位为"1"表示负数. 正数补码为其本身: 负数补码为其绝对值各位取反加1: ...
- Java中Map取值转String Null值处理
Map<String, Object> 直接取值转String String value = (String)map.get("key") 当map.get(" ...
- Java中的Hash值到底是怎么计算的
最近被提及Java中HashMap的一些实现及哈希冲突等,不知不觉就想到哈希值到底是怎么计算出来的,正文如下. 结论: 对于String.Integer等类复写了Object中的hashCode方法的 ...
- Java中int的取值范围的原因
为什么Java中int型数据取值范围是[-231, 231-1] 为什么Java中int型数据取值范围是[-231,231-1],网上很多解释都存在问题. int是Java中的8种基本类型之一,一个i ...
- java中integer的范围_java中integer取值范围是什么
java中integer取值范围是什么 发布时间:2020-08-27 10:01:14 来源:亿速云 阅读:69 作者:小新 这篇文章给大家分享的是有关java中integer取值范围是什么的内容. ...
- java enumerator_java 中遍历取值异常(Hashtable Enumerator)解决办法
java 中遍历取值异常(Hashtable Enumerator)解决办法 用迭代器取值时抛出的异常:java.util.NoSuchElementException: Hashtable Enum ...
最新文章
- tomcat5 remote debug 设置
- python类变量继承_python 类的成员及继承
- 模式 - 收藏集 - 掘金
- 10套华丽的 Windows 8 Metro 风格图标【2000+免费图标】
- 大数据专家手把手教你打造实时数据湖
- ORM组件XCode(十八般武艺)
- 如何安装python解释器_python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器...
- python - 安装/解释器/变量
- c语言自己建个题库随机出题,自己建个题库随机出题 让学习效率大大提高
- 深入浅出MySQL第一天
- 可变模糊集理论matlab程序,可变模糊集理论.pdf
- wps2000集成办公系统 v3.02.99专业版(附序列号)|wps2000老版本
- 华为存储IE证书挂靠
- 肯耐珂萨java_站在尤里奇的肩膀上,肯耐珂萨探讨适用于国内的HR胜任力模型
- MySQL Cluster测试过程中的错误汇总--ERROR 1296 (HY000)等等
- /lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found
- 【GIS数据处理】 利用空间关系建立线CAD数据和属性表关联
- 阿迪、耐克过去式,李宁、安踏、特步现在时
- windows10 安装msdatlst.ocx控件
- 台电U盘“加密大师”制作方法