一.int型的最值

有符号

  • 最小值:-2147483647-1
  • 最大值:2147483647

无符号

  • 最大值:0xffffffff
  • 最小值:0
  • 大家可以在整形类型的取值范围限制头文件中查看:limits.h

二.int型最小值的原因

当我们直接给int型变量赋-2147483648时会发生什么?

会发生错误,VS给出的原因是

事实上,当我们把最小值-2147483648赋给整形变量时,发生了两次变化

  1. 输入数字2147483648,因为整形的最大值为2147483647,整形变量无法接收,需要发生隐式类型转化,由int型变为unsigned int
  2. 在将负号赋给此时的变量,结果仍为2147483648

如果这样赋值后,结果是正确的,这会使编译器无法确认输入的值。

例如:

int a = 10 > (-2147483648);

-2147483648发生整形提升,变为正数,10跟着发生整形提升但没有改变,结果为0;

而写成-2147483647-1的形式,编译器会判断它是个负数,从而赋值

所以当我们需要使用正数的最小值时,可用如下方法:

  1. 使用limits.h头文件包含的宏定义名INT_MIN
  2. 直接使用-2147483647-1,或者-2147483646-2都可以(需要更小的数时也要用此方法)

C语言|int型最大值和最小值相关推荐

  1. c语言int型变量写入char数组的方法

    c语言int型变量写入char数组的方法 #include<stdio.h>int main() {int iMum = 1000000;int iReNum = 0;char cArra ...

  2. java 二进制最大值_java int型最大值/最小值,最大值+1,最小值-1

    java中,int型变量是有符号整形变量.int型变量占用4个字节(32bit位). int型变量采用补码形式来表示数值.对于一个二进制数,正数的补码是其本身,负数的补码是所有二进制位取反再加一. i ...

  3. C++移位得到int型最大值

    C++里默认int型1的二进制表示为: 0000 0000 0000 0000 0000 0000 0000 0001 如果左移31位,会得到最小值 1<<31 //会得到-2147483 ...

  4. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1112:最大值和最小值的差

    时间限制: 1000 ms 内存限制: 65536 KB 提交数: 9363 通过数: 5690 [题目描述] 输出一个整数序列中最大的数和最小的数的差. [输入] 第一行为M,表示整数个数,整数个数 ...

  5. 信息学奥赛一本通C++语言——1112:最大值和最小值的差

    [题目描述] 输出一个整数序列中最大的数和最小的数的差. [输入] 第一行为M,表示整数个数,整数个数不会大于10000:第二行为M个整数,以空格隔开,每个整数的绝对值不会大于10000. [输出] ...

  6. C语言如何求最大值和最小值

    求最大值和最小值 如何求一个数组当中的最大值和最小值 //设置一个最大值 maxValue = 0; if(num > maxValue)maxValue = num;//设置一个最小值 min ...

  7. C语言:对调最大值与最小值的位置

    从键盘上输入一组数据,找出这组数据中的最大数与最小数,将最大数与最小数位置互换,并将互换后的数据再次输出. 首先从键盘接收一组数据然后找到最大值和最小值这个是比较简单的. ok,上代码: #inclu ...

  8. C 语言 int 型乘法溢出问题

    2019独角兽企业重金招聘Python工程师标准>>> long l; int a, b; l = a*b; 因为 a*b 的结果仍然以 int 型保存, 所以即使 l 为long, ...

  9. Java语言int型与byte型数组的转换

    为了在接下来的篇章中讲解用Java实现文件的归档和解归档,需要先了解一下Java中int型与byte型数组之间的相互转换. 首先,我们先来看看int型转换成byte型数组. 我们知道,Java中,一个 ...

最新文章

  1. 智源创新中心——与你同行,用AI改变世界
  2. 远程连接Kali Linux使用PuTTY实现SSH远程连接
  3. 安卓的短信记录导入苹果_安卓换苹果手机后怎么转移便签数据?
  4. mapreduce框架详解
  5. 揭开雷达的面纱(科普)接收机
  6. HTTP/2 流量调试
  7. ldap配置系列二:jenkins集成ldap
  8. 程序员常用网站收藏[定期更新]——csdn博客
  9. HTML5 2D平台游戏开发#4状态机
  10. 推荐一位朋友(大学教授)写给孩子的数学思维书
  11. pandas 字段操作
  12. 前后端分离后的前端时代,使用前端技术能做哪些事?
  13. Python minidom模块(DOM写入和解析XML)
  14. 【MySQL】二,常用的SQL标准有哪些
  15. C语言编程题如何提交源程序,c语言课后习题源程序.doc
  16. linux进程阻塞例子,linux阻塞与非阻塞驱动例子
  17. matlab空间光调制器,空间光调制器原理与应用
  18. python综合程序设计-基于树莓派的python GPIO编程-常用函数综合整理
  19. 邮箱邮件安全问题有哪些?如何做邮件安全宣传?
  20. Excel2003和Excel2007对下拉选择和下拉级联选择的操作以及java程序的调用

热门文章

  1. CSS文字和段落排版
  2. 微信公众号 语音转文字api_微信聊天的语音转文字,居然自动添加表情?你猜不到吧...
  3. redis-问题记录
  4. 一切前端概念,都是纸老虎
  5. flask操作MySQL
  6. Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded
  7. 电商API是什么?API集成对电子商务平台的好处
  8. 当HUAWEI HiAI遇到淘宝
  9. Spring Boot 中关于 %2e 的 坑,希望你不要遇到
  10. SSL基础:2:OpenSSL LTS版本升级方法