C计算int最大值最小值
Posted fengyaoyao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C计算int最大值最小值相关的知识,希望对你有一定的参考价值。
方法一:
整数值越界后符号改变
int i = 0, max, min; while(1) { if(i + 1 <= 0) { max = i; min = i + 1; break; } i++; } printf("int最大值%d,最小值%d ", max, min);
方法二:
0(unsigned int)的二进制为:00000000 00000000 00000000 00000000
按位取反(~):11111111 11111111 11111111 11111111
除以2(int类型中有一半表示负数,且比正数多一个)
printf("%d ",~(unsigned int)0/2);
方法三:
先补码得到-1(即各位全为1),然后利用移位运算得到最小,进而得到最大。
int i=0; i=~i; i=i<<(sizeof(int)*8-1); printf("min%d ",i); i--; printf("max%d ",i);
以上是关于C计算int最大值最小值的主要内容,如果未能解决你的问题,请参考以下文章