uint范围 0-255
int范围 -128 - 127

-2147483647 原码1111 1111 1111 1111 1111 1111 1111 1111-2147483647-1=-2147483648;由于cpu里面存的是补码计算-2147483647  补码1000 0000  0000 0000 0000 0000 0000 0001-1       补码1111 1111 1111 1111 1111 1111 1111 1111得到-2147483648 补码1000 0000 0000 0000 0000 0000 0000 0000-2147483648-1得到2147483647;-2147483648 补码1000 0000 0000 0000 0000 0000 0000 0000-1      补码1111 1111 1111 1111 1111 1111 1111 1111得到     补码0111 1111 1111 1111 1111 1111 1111 1111正好是2147483647 最大值2147483647+1得到-2147483648;2147483647 补码0111 1111 1111 1111 1111 1111 1111 11111      补码0000 0000 0000 0000 0000 0000 0000 0001得到      补码1000 0000 0000 0000 0000 0000 0000 0000正好是-2147483648最小值

说法1:
MAX_INT + 1 = 100000000000000000000 根据int有符号的定义,第一位是符号位,这样看来,这个数值就是 -0 ; 那么我们再来讨论这样一种场景,按照int的第一个位是符号位的说法 MIN_INT=11111111111111111111111111111111,前面我们计算过 31位的全1 = 2^31 -1, 所以MIN_INT=-2^31 + 1. 这应该是正常思路看待int的最大值和最小值的场景.但是我们还有一个-0没有解决,我们按照之前定义的MIN_INT来计算一下MIN_INT-1 = -2^31 + 1 -1 = -2^31. 咦,我们去掉超过的1位,发现它竟然也是 100000000000000000000 和 -0的含义一样 ,所以我们要解决的-0 可以把原来的MIN_INT-1 作为新的MIN_INT! 这样int的取值范围就是 -2^31 到 2^31 -1

说法2:
当然,说法1是我发现的一种解释,
网上的解释是:
有+0和-0,两个0。因为负数在计算机中都是以补码方式存储的,且没有任何正数的补码是 100000000000000000000 ,所以把 -0 看成 int最小值(符号位参与运算)
————————————————
版权声明:本文为CSDN博主「卖山竹的山兔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44683593/article/details/107533283

C++-int最大值相关推荐

  1. kotlin int最大值_Kotlin程序查找三个数字中的最大值

    kotlin int最大值 Input 3 integer numbers, we have to find the largest of these input numbers. 输入3个整数,我们 ...

  2. c++语言int最大值,c++ 关于如何获取int型的最大值

    之前有一个题,因为求最小值时minn初始赋值不够大,导致一直没过,卡了很久. 之后我就发愤图强学了这方面的内容: int型的最大值是0x7fffffff, 可以算一下 0x7FFFFFFF 是多少 每 ...

  3. mysql的int最大值_MySQL中int最大值深入讲解

    导语 前两天看到的问题,展开写一下. 字节 我们都知道计算机是以二进制为基础.存储的基本单位是 Bit,也称为比特.二进制位.1bit 可以表示 0 或者 1 两个数字,是可能存在的最小的信息量,任何 ...

  4. mysql中int最大多少,MySQL中int最大值深入讲解

    MySQL中int最大值深入讲解 导语 前两天看到的问题,展开写一下. 字节 我们都知道计算机是以二进制为基础.存储的基本单位是 Bit,也称为比特.二进制位.1bit 可以表示 0 或者 1 两个数 ...

  5. int 最大值的5种表示方式

    一时兴起,想到了五种int最大值的表示方式 函数库里宏定义:INT_MAX 十六进制表示:0x7fffffff 2^31 - 1 位运算表示:(1 << 31) - 1 二进制全1然后右移 ...

  6. MySQL 中 int 最大值

    导语 前两天看到的问题,展开写一下. 字节 我们都知道计算机是以二进制为基础.存储的基本单位是 Bit,也称为比特.二进制位.1bit 可以表示 0 或者 1 两个数字,是可能存在的最小的信息量,任何 ...

  7. python3 获取int最大值

    python2 中获取int最大值 import sys i = sys.maxint print i 但是在python3中,报错: AttributeError: module 'sys' has ...

  8. go int 最大值_Dig101 - Go之灵活的slice

    文章首发:公众号 newbmiao Dig101: dig more, simplified more and know more Slice作为go常用的数据类型,在日常编码中非常常见. 相对于数组 ...

  9. int最大值java_Java 中一个int型数组的求最大值最小值 | 学步园

    小友今日看单元测试,发现的一个测试用例的代码.而测试的是某个类的最大值,最小值方法. 在此把测试类发上来.保留此地,如有人对此有兴趣,看以看下.闲话少说: public class MaxMinToo ...

  10. php int最大值探究

    官方最大值 PHP_INT_MAX 官方最大值为 32平台:2147483647 64平台:9223372036854775807 The largest integer supported in t ...

最新文章

  1. java 1.7 事件监听_17.7Listener监听器
  2. JAVA基础加强笔记
  3. 授人以鱼不如授人以渔——CPU漏洞的Symantec解决之道
  4. metadata usage in the runtime
  5. 图像卷积与滤波知识点整理(1)
  6. Leetcode--56. 合并区间
  7. 蓝桥杯第八届省赛JAVA真题----分巧克力
  8. 用node-webkit开发多平台的桌面客户端
  9. mysql grant all privileges_MySQL数据备份及还原(一)
  10. 揭开OpenStack 统计资源和资源调度的面纱
  11. bzoj 3384: [Usaco2004 Nov]Apple Catching 接苹果(DP)
  12. HCIE-Security Day26:IPSec:实验(一)两个网关之间通过IKE方式协商IPSec PN隧道(采用预共享密钥认证)
  13. 【存储】AIX存储管理基本概念和操作(LVM)
  14. 2018华为网络技术大赛课程-服务器操作系统基础原理自测题答案
  15. 【智慧医疗】什么是电子健康记录(EHR)?
  16. MACOS使用Karabiner解决CapsLock按键切换大写延迟问题
  17. DDCTF2018-黑盒破解 详细WP
  18. windows资源管理器转圈崩溃
  19. 计算机水冷原理,水冷电脑流动的是什么“水”
  20. vue 网络异常提示

热门文章

  1. App邀请好友机制如何设计?且看这些方法
  2. 【Excel 教程系列第 10 篇】Excel 2016 界面介绍
  3. SAP ABAP修改字段描述(翻译及传输)
  4. kettle9.2报 Connection failed. Verify all connection parameters and confirm that the appropriate driv
  5. 量化政策后的电力优化文章——《计及交叉补贴分摊的输配电价定价方法》
  6. asmi lpar_管理LPAR启动顺序并使用系统概要文件验证资源分配
  7. 【Electron】酷家乐客户端开发实践分享 — 入坑篇
  8. [JAVA毕业设计]Vue框架电商后台管理系统源码获取和系统演示
  9. 【EMQX 5.0】1.3 MQTT协议数据包结构
  10. 数据恢复软件从iOS恢复短信