c++的最小整数和最大整数

 

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    //int -2147483648~2147483647
    cout << INT_MIN << endl;
    cout << INT_MAX << endl;
    system("pause");
    return 0;
}

 执行结果:

1.INT_MAX,INT_MIN数值大小:
因为int占4字节32位,根据二进制编码的规则,INT_MAX = 2^31-1,INT_MIN= -2^31.C/C++中,所有超过该限值的数,都会出现溢出,出现warning,但是并不会出现error。如果想表示的整数超过了该限值,可以使用长整型long long 占8字节64位。

2..INT_MIN在标准头文件limits.h中定义。

1 #define INT_MAX 2147483647
2 #define INT_MIN (-INT_MAX - 1)//这里没有简单地将INT_MIN赋值成-2147483647,是因为-2147483648对于编译器而言是个表达式,而2147483648对于32-bit整数是无法表示的,
所以经过这个表达式的结果是未定义的。在GCC上直接写-2147483648后,编译器给出了警告,说结果是unsigned。

 

posted on 2018-11-21 19:19  一杯明月  阅读(14263)  评论(0编辑  收藏  举报