int占32位的时候,最大可以赋值为:2147483647。也就是0x7fffffff。
在计算机里我们的规定最高位是符号位。为0是正,为1负。所以最高位是不可以参加计算的。
比如二进制数1000最高位是符号位的话,转十进制不是8,而是-0,对就是负0(正0的二进制形式是0000)。
所以,k位的二进制整数可以表示的状态共2^k种,所以,有2^(k-1)个,而int型占4个字节,有32位,所以有2^31-1个,即2147483647。
#include<stdio.h>
int main()
{int i,j,n,max,min
scanf("%d",&n) //共有n个整数
for(i=0i<ni++) //读入n个整数,并用打擂台方法求出最大、最小值
{scanf("%d",&x)
if(i==0)max=min=x
else if(x>max)max=x
else if(x<min)min=x
}
printf("max=%dnmin=%dn",max,min)//输出最大值和最小值
return 0
}