首页 > 代码库 > int型整数的最小值和最大值是多少?

int型整数的最小值和最大值是多少?

问题1 int型整数的最小值和最大值是多少(需要精确值)?

 

重学C语言第一天 第一题就不会做,百度半天。

视编译器的不同以及cpu位数不同而定

学会两种方法:

1.

#include <stdio.h>#include <math.h>int main(){    int i = sizeof(int);    printf("max:%lld",(long long)pow(2,i*8-1)-1);    printf("\n");    printf("min:%lld",-(long long)pow(2,i*8-1));}

  

2.

#include <stdio.h>int int_min(){    int n = 0,i = 0;    while(n >= i){        n = i;        i--;    }    return n;}int int_max(){    int n = 0,i = 0;    while(n <= i){        n = i;        i++;    }    return n;}int main(){    printf("max:%d",int_max());    printf("\n");    printf("min:%d",int_min());}

 

其间数的二进制表示那块还有一些模糊的地方,并且也不去深究更多的方法,那样就无穷无尽了。