位运算

#include<stdio.h>
int main()
{
    int n, m;
    while(~scanf("%d", &n))
    {
        printf("%d ", n>>1);//等于n/2;
        printf("%d ", n<<1);//等于n*2;

        if(n&1)//取n的二进制最末尾,如果等于1,则n为偶数,如果等于0,则n为奇数。
        {
            printf("此数为奇数 ");
            printf("最接近此数的偶数为 ");
            printf("%d %d ", (n|1)-1, (n|1)+1);
        }
        else
        {
            printf("此数为偶数 ");
            printf("最接近此数的奇数为 ");
            printf("%d %d ", n-1, n|1);
        }
    }
    return 0;
}

每天训练发现我比别人做的好慢,但是理解的更深刻,如果一开始学一个新知识点就搜模板,那么这样的人是走不远的,毕业之后带走的只有思维,什么荣誉,奖杯都已经不重要了。
原文地址:https://www.cnblogs.com/6bing/p/3931240.html