java integer范围值的大小_求最大值最小值的代码

java integer范围值的大小_求最大值最小值的代码java中的Integer.MAX_VALUE和Integer.MIN_VLAUE最近在刷leetcode的题时,才发现有几道题的利用到Integer类型的最大值和最小值,尤其是在判断是否溢出的时候,有道题就非常经典直接判断最后一位,比如最大值231-1的最后一位是7,而最小值-231的最后一位是8,这样进行一个判断8.字符串转换整数(atoi)这道题对我在面试过程中被问到如何判…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

java中的Integer.MAX_VALUE和Integer.MIN_VALUE

最近在刷leetcode的题时,才发现有几道题的利用到Integer类型的最大值和最小值,尤其是在判断是否溢出的时候,有道题就非常经典直接判断最后一位,比如最大值231 – 1的最后一位是7,而最小值 -231 的最后一位是8,这样进行一个判断
8. 字符串转换整数 (atoi)
这道题对我在面试过程中被问到如何判断是否溢出有了很大启发
查下JDK1.6帮助文档是这样写的
在这里插入图片描述
在这里直接能看到这个数值,突然一看对于最大值还是能理解的,但是对于最小值就不是很理解了。
一般能在网上看到这段话

四字节的整形 有符号是 -231~231-1 ;在计算机内部数值的二进制表示,有正码、反码和补码。一般采用二进制补码进行表示和运算,MIN_VALUE = 0x80000000 和 MAX_VALUE = 0x7fffffff 就是补码表示的Integer的最小值(-231)和最大值(231-1)。至于Integer的最大值最小值为什么是这两个数,这是因为Java语言规范规定int型为4字节,不管是32/64位机器,这就是其所宣称的跨平台的基础部分.

那么在计算机中其实是用做补码进行表示和运算的,使用补码不仅仅修复了0符号以及存在两个编码的问题,而且还能够多表示一个最低数,这也就是8位二进制数表示的范围为[-127,+127],而使用补码表示的范围为[-128,127]
例如有:

(-1)+ (-127) = [1000 0001] + [1111 1111] = [1111 1111] + [1000 0001] = [1000 0000]

-1-127的结果应该是-128,在用补码运算的结果中,[1000 0000] 就是-128,但是注意因为实际上是使用以前的-0补码来表示-128,所以-128并没有原码和反码表示。(对-128的补码表示[1000 0000] 补算出来的原码是[0000 0000],这是不正确的)

那么类似的对于32位而言,

int类型能表示的最小负数

最小的负数的二进制码是1000 0000 0000 0000 0000 0000 0000 0000 ,补码还是这个值,所以最小值为-231

int类型能表示的最大正数

最大正数是毫无疑问,所以还是0111 1111 1111 1111 1111 1111 1111 1111,也是231 – 1

重要的性质最小值-1

最小值的二进制补码表示 1000 0000 0000 0000 0000 0000 0000 0000 ,减1后称为0111 1111 1111 1111 1111 1111 1111 1111是最大的正数

重要的性质最大值+1

最大值的二进制补码表示 0111 1111 1111 1111 1111 1111 1111 1111,加1后称为 1000 0000 0000 0000 0000 0000 0000 0000

参考文献:
java int型最大值/最小值,最大值+1,最小值-1
原码, 反码, 补码 详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196057.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 3500 左右 办公电脑配置

    3500 左右 办公电脑配置

    2022年7月12日
    31
  • HTML 有序列表 字母,HTML有序列表| HTML编号列表

    HTML 有序列表 字母,HTML有序列表| HTML编号列表本文概述HTML排序列表或编号列表以编号格式显示元素。HTMLol标签用于有序列表。我们可以使用有序列表以数字顺序格式或字母顺序格式或强调顺序的任何格式来表示项目。编号列表可以有不同类型:数值(1,2,3)大写罗马数字(IIIIII)小罗马数字(iiiiii)大写字母(ABC)小写字母(abc)为了表示不同的有序列表,标记中有5种类型的属性。类型描述输入“1”这是默认类…

    2022年6月17日
    29
  • WPS多个单独excel表合并为多个sheet_wps怎样拆分成多个工作表

    WPS多个单独excel表合并为多个sheet_wps怎样拆分成多个工作表WPS 2019 多个sheet表拆分成独立的excel文件 (VBA工具)

    2022年4月21日
    136
  • tqdm模块[通俗易懂]

    tqdm模块[通俗易懂]tqdm是Python进度条库。tqdm库下面有2个类我们经常使用:1.2.可以在Python长循环中添加一个进度提示信息用法:tqdm(iterator)trange(i)是

    2022年8月6日
    8
  • tracert原理及其实现_tracert第一个地址是什么

    tracert原理及其实现_tracert第一个地址是什么Tracert用于测试数据包从发送主机到目的地所经过的网关,它主要用于检查网络连接是否可达,以及分析网络什么地方发生了故障.Tracert的执行过程是:首先发送一个TTL为1的数据包,因此第一跳发送回一个ICMP错误消息以指明此数据包不能被发送(因为TTL超时)之后此数据包被重新发送,TTL为2,同样第二跳返回TTL超时,这个过程不断进行,直到到达目的地.执行这些过程的目的是记录每一个ICM

    2022年9月25日
    4
  • 《树先生》影评_hello树先生影评分析

    《树先生》影评_hello树先生影评分析1.树先生的母亲对树说:你看二猪都把咱家的地给占了,你也不去说说。这一个情节对应高鹏结婚的时候树先生借着酒劲向二猪说出来那句话:占了俺家的地,也不提前说声。这个会给树带来心理上的压力,就好像作为家

    2022年8月5日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号