这些范围在limits.h库里有具体定义 程序可直接输出 想要计算的话 也很简单 其原理就是sizeof得出字节数 然后signed限定的话 就是2的字节数次方 为最大值 0为最小值 如signed char printf("signed char : 0-%d\n",pow(2,sizeof(signed char))); unsigned限定的话 就是2的字节数减一次方 为最大值 负的(2的字节数减一次方减一) 为最小值 同样 如unsigned char printf("unsigned char: %d-%d\n",-(pow(2,sizeof(unsigned char)-1)-1),pow(2,sizeof(unsigned char)-1));
#include<math.h>
#include<limits.h>
int main()
{
signed char;
signed short;
signed int;
signed long;
unsigned char;
unsigned short;
unsigned int;
unsigned long;
printf("unsigned char:0-%lf\n",pow(2,8*sizeof(char))-1);
printf("