32位int的表示范围为:

-2147483648 ~ 2147483647

但查看VS 2008的头文件有如下定义:

#define INT_MIN     (-2147483647 - 1) /* minimum (signed) int value */

为什么不直接定义为:-2147483648呢?

同时我在一本C语言的书中看到,只有在int范围内的全部由数字组成的值才是int常量。换而言之,0和所有的负整数都不能称为常量,因为它相当于对常量进行了取负运算,按书中的说法,是表达式。

首先用如下代码进行验证:

 cout << typeid(-2147483647-1).name() << endl;cout << typeid(-2147483648).name() << endl;

运行结果如下:

int
unsigned long


果然,-2147483648不同于-2147483647-1。

那我们是不是可以这样理解,对编译器而言,它首先看到的是正整数2147483648,然后再对其进行求负运算。由于2147483648超出了int的范围,所以-2147483648也不是int类型了。这也是系统头文件中不直接这样定义INT_MIN的原因吧。

-2147483648是不是int常量相关推荐

  1. 枚举——用enum代替int常量

    枚举类型(enum type) 是指一组固定的常量组成合法值的类型,例如一年中的季节.太阳系中的行星或者一副牌中的花色. int枚举模式的缺点 在我们平常的开发中,为表示同种类型的不同种类,经常的做法 ...

  2. Effective Java之用enum代替int常量(三十)

    1.Int枚举常量 public class mytest {public static final int num_one = 1;public static final int num_two = ...

  3. Effective Java~34. 用enum 代替 int 常量

    在将枚举类型添加到该语言之前,表示枚举类型的常见模式是声明一组名为 int 的常量,每个类型的成员都有一个常量: // The int enum pattern - severely deficien ...

  4. 用枚举enum替代int常量

    枚举的好处: 1. 类型安全性 2.使用方便性 public class EnumDemo { enum Color{ RED(3),BLUE(5),BLACK(8),YELLOW(13),GREEN ...

  5. C语言int r(int m),INT(M)表示什么意思?

    根据官方文档描述,int(M)中的M表示数据显示的宽度,与实际存储的长度无关. 1.也就是int(3)和int(11)能够存储的数据是一样的,都是从-2147483648到2147483647(或者0 ...

  6. c语言数据类型int的用法,C语言基本数据类型:整型(int)用法详解|C语言学习

    C语言基本数据类型:整型(int)用法详解 1. 整型 int C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int 是整型之一,一般被称为整型.以后, ...

  7. c语言中整形变量,C语言基本数据类型:整型(int)用法详解

    1.整型int C语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int是整型之一,一般被称为整型.以后,在不产生歧义的情况下,我们把整数类型和int都称为整 ...

  8. c语言int作用,c语言中int的用法有哪些

    c语言中int的用法有哪些 C/C++编程语言中,int表示整型变量,是一种数据类型,用于定义一个整型变量,在不同编译环境有不同的大小,不同编译运行环境大小不同下面小编给大家整理了c语言中int的用法 ...

  9. c语言中int作用,c语言中int的用法(5页)-原创力文档

    第 第 PAGE 1 页 共 NUMPAGES 1 页 c语言中int的用法 C/C++编程语言中,int表示整型变量,是一种数据类型,下面小编就跟你们详细介绍下c语言中int的用法,希望对你们有用. ...

最新文章

  1. pde lec 6 part 2
  2. HTML 文件在PC移动端完美自适应布局的技巧
  3. 比较和同步两个SQL Server数据库之间的图像
  4. js时间搓化为今天明天_做猪皮冻,记住“泡一泡,刮一刮,搓一搓”,皮冻晶莹剔透无异味...
  5. svg html5 ajax,jQuery附加到AJAX加载的SVG问题
  6. linux技巧33条
  7. 【单目标优化求解】基于matlab竞争学习的粒子群算法求解单目标优化问题【含Matlab源码 1784期】
  8. ES6文档 思维导图笔记
  9. jvisualvm插件安装
  10. 实验一 winrunner的安装使用
  11. 前端实现一个登录验证的滑块
  12. 技术干货大集锦(一)
  13. 差异表达基因变化倍数_重磅推出!欧易关键基因筛选报告
  14. HoudahGeo 6 for Mac(地理位置信息软件)
  15. 前端笔记1 HTML基础
  16. CentOS7.2下一键安装Openstack
  17. 学大伟业 Day 1 培训总结
  18. java订单派单规则_重点解读 | 什么是派单?派单的好处有哪些?
  19. Steampipe的安装部署及简单使用(附带AWS CLI的安装与使用)
  20. 转载和积累系列 - 秒杀系统设计思路

热门文章

  1. 微信小程序 - 屏幕适配
  2. 明源云采购颁奖盛典|欧金盾铝业荣膺“2020房企供应商10强”
  3. uniapp九宫格抽奖
  4. 【leetcode】剑指 Offer 29. 顺时针打印矩阵(shun-shi-zhen-da-yin-ju-zhen-lcof)(模拟)[简单]
  5. R 语言 4.2.2安装 WGCNA
  6. 哈希表——高效率的利器
  7. 基于深度学习的2D图像目标检测
  8. 模板四十天之一 KMP
  9. Vue + ElementUI 实现后台管理系统模板 -- 前端篇(四):定义主页面
  10. 手机QQ 聊天数据库查看