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最大值最小值的主要内容,如果未能解决你的问题,请参考以下文章

怎么用for循环计算数组最大值?代码怎么写

JAVA 各种数值类型最大值和最小值 Int, short, char, long, float,&nbs

c语言计算数组的长度,最大最小值 补全程序?

C语言编程题求代码,不会做啊

比给定值最小的最大元素的 STL 算法

c语言编程:一个2*3矩阵,求最大值,最小值