二进制值(1字节) 十进制值 
1000 0000 -128 
1000 0001 -127 
1000 0010 -126 
1000 0011 -125 
... ... 
1111 1110 -2 
1111 1111 -1

 

首先我们看到,从-1到-128,其二进制的最高位都是1(表中标为红色),正如我们前面的学。

然后我们有些奇怪地发现,1000 0000 并没有拿来表示 -0;而1000 0001也不是拿来直观地表示-1。事实上,-1 用1111 1111来表示。

怎么理解这个问题呢?先得问一句是-1大还是-128大?

当然是 -1 大。-1是最大的负整数。以此对应,计算机中无论是字符类型,或者是整数类型,也无论这个整数是几个字节。它都用全1来表示 -1。比如一个字节的数值中:1111 1111表示-1,那么,1111 1111 - 1 是什么呢?和现实中的计算结果完全一致。1111 1111 - 1 = 1111 1110,而1111 1110就是-2。这样一直减下去,当减到只剩最高位用于表示符号的1以外,其它低位全为0时,就是最小的负值了,在一字节中,最小的负值是1000 0000,也就是-128。

Java中的Int的最大最小是怎么算出来的呢?

int型的最大值:2147483647    16进制:0x7FFF FFFF

int型的最小值:-2147483648   16进制:0x8000 0000

实际上:在java中int型占4个字节,那么它能表示的就是32位的范围。但是java不像C/C++那样分unsigned(无符号数和有符号数)所有在java中正负数各占一半:即2的31次方减1是最大的int型的范围,负的2的31次方是最小的负数范围。

java中的Int范围相关推荐

  1. java中的int、Integer 和 new Integer()的区分和比较

    java中的int.Integer 和 new Integer()的区分和比较 一.问题提出: 1.1.问题一: int a = 2; Integer b = 2; Integer c = new I ...

  2. java中String,int,Integer,char、double类型转换

    java中String,int,Integer,char.double类型转换----https://www.cnblogs.com/kangyu222/p/5866025.html 转载于:http ...

  3. *java* 在Java中给Int类型的最大值+1 ,以及int与byte之前强转的例子

    1.给int最大值+1 public class Test1{public static void main(String[] args){//保存当前int的最大值,同理也有long maxValu ...

  4. 为什么java中的int类型范围是-2的31次方到2的31次方减一?

    在java基础类型中,int类型占四个字节,而每个字节在内存中占8位(8byte),所以可以使用共4X8=32个位数来存储该类型,也就是四个八位的二进制数,所以有了以下说法 在计算机中,它的二级制表示 ...

  5. 二十八、Java中的Int和Integer的区别

    @Author:Runsen @Date:2020/6/3 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  6. java中for(int a:list)

    这个是从网上找到的解释,做下记录 这里的list支持数组 第二个for循环在编译的时候会强直检查list中的对象类型是否是UserBean类型,如果不是会报编译错误 第一个for循环编译没有问题,会在 ...

  7. java int字母,从Java中获取int,也包含字母

    How can I get the int value from a string such as 423e - i.e. a string that contains a number but al ...

  8. java中如果int类型超出了它的范围

    背景引入 今天老师上课的时候,写了一个循环语句,看起来就是普通的循环,不信看代码: int count = 0;while(true){count ++;if (count<20){System ...

  9. Java中 for(int i:index)什么意思!

    for(int i : index)的意思就是说,遍历index数组,每次遍历的对象用i 这个对象去接收. 相当于: int i=0; //用于接收index数组中的某一个对象 for(int j = ...

最新文章

  1. ireport如何给static text加边框_html amp;amp; css 解决li浮动边框为2的问题
  2. border-radius
  3. GIS配准和配准算法基本概念学习
  4. GDCM:gdcm::IPPSorter的测试程序
  5. DokuWiki的发现之旅
  6. mysql关联语句优化_MySql语句关联优化问题,为什么加了限制条件反而更慢?
  7. Android应用系列:双击返回键退出程序
  8. 个人简历html模板
  9. 220套html模版百度云,220套静态网页模板
  10. 电梯plc的io分配_用PLC构成液体混合控制系统IO分配及梯形图编程
  11. 【3dmax千千问】初学3dmax插件神器第23课:3dmax自学渲染进阶提升教程|疯狂模渲大师排除了特殊的材质后,室内设计师还要去除VRAY的光线追踪,再设计3dmax效果图!
  12. luogu P1724 东风谷早苗
  13. Java中涉及到和金钱有关的属性的类型
  14. Python 错误重试库 tenacity retry
  15. 魅族20和魅族20pro的区别 魅族20和20pro参数对比
  16. 同步上下文(SynchronizationContext)
  17. 今天高兴,分享一个我亲自测试的网上赚钱方法......
  18. 能在Windows CE上运行的的二维码识别系统,使用手机摄像头扫描二维码
  19. JavaScript编辑考研倒计时
  20. 获取当前时间戳减去昨天的时间戳

热门文章

  1. linux系统print命令,Linux系统命令大全
  2. 创造性思维与创新方法案例
  3. Spring AOP 的术语
  4. mumu模拟器屏蔽root,mumu模拟器下载
  5. Multisim中元器件的翻转方法以及快捷键,最详细,最清晰!!!
  6. 什么是3D打印?3D打印技术?
  7. 国际清算银行:多国央行进行CBDC研究 仅少数推出具体计划
  8. python实现数据结构--线性表
  9. 计算机实战项目、毕业设计、课程设计之[含论文+辩论PPT+源码等]微信小程序社区疫情防控+后台管理|前后分离VUE[包运行成功
  10. App数据分析到底要分析什么