如何在C++中生成int类型的最大值和最小值?
32位有符号整型,第一位是符号位,所以
最大整数是 0111 1111 1111 1111 1111 1111 1111 1111 , 2^32 - 1 , 2147483647
最小整数是 1000 0000 0000 0000 0000 0000 0000 0000 , - 2^32 , -2147483648
十进制很难记,可以通过移位操作生成。
int max = (1 << 31) - 1;
int min = 1 << 31;
max min 即为最大整数和最小整数。亲测有效 O(∩_∩)O~
另外,
在C++下面的 Limits.h 直接定义了最大的值,直接用INT_MAX 或 INT_MIN 就可以了!
32位有符号整型,第一位是符号位,所以
最大整数是 0111 1111 1111 1111 1111 1111 1111 1111 , 2^32 - 1 , 2147483647
最小整数是 1000 0000 0000 0000 0000 0000 0000 0000 , - 2^32 , -2147483648
十进制很难记,可以通过移位操作生成。
int max = (1 << 31) - 1;
int min = 1 << 31;
max min 即为最大整数和最小整数。亲测有效 O(∩_∩)O~
另外,
在C++下面的 Limits.h 直接定义了最大的值,直接用INT_MAX 或 INT_MIN 就可以了!
不过一些环境下不包含 Limits.h ,仍需要自己定义。
#define INT_MAX 2147483647
#define INT_MIN -2147483648
#define INT_MAX 2147483647
#define INT_MIN -2147483648