0就是0000
0000
0000
0000,第一位相当于符号位,正数取0,负数取1。
0111
1111
1111
1111表示正2的15次方减一,第一位0表示正数。负2的15次方减一就是1000
0000
0000
0001,第一位1表示是负数。所以负2的15次方是1000
0000
0000
0000。大概是这么回事#include<stdioh>
int main()
{
int n;
scanf("%d",&n);
int max=0,m;
while(n>0)
{
m=n%10;
if (m>max) max=m;
n/=10;
}
printf("整数里最大的数为:%d\n",max);
}
有几种方法可以在程序中动态的获取int的最大值
1:计算获取
unsigned int a = 0;int MAX = (~a)/2;
2:或者C++可以直接获取int最大值
std::numeric_limits<int>::max()。3:自定义宏
#define MAX_INT ((unsigned)(-1) >> 1)4:在limitsh/climits中,定义了INT_MAX,该宏会根据编译环境自动定义int的最大值,可以直接用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)